Очередную статью посвящённую созданию своей веб системе я решил посвятить файлу view.php. Данный файл получает данные из его соответствующей модели (соответствующую модель определяем в контроллере «controller.php») и осуществляет вывод отображения модуля. Иными словами выводит информационную часть из модуля. То что видит конечный пользователь.
Если не выбран ни один модуль (нет переменной $_GET[‘a’]) то подключается модуль по умолчанию. У меня это модуль с названием default.
Далее у нас будет предусмотрена возможность подключать шаблон вывода модуля (view) из шаблона сайта, или админ панели нашей, в зависимости от того откуда произведён вызов модуля.
Ниже приведен листинг всего файла view.php:
if (isset($_GET['a'])){ $a = htmlspecialchars ( trim ( $_GET ['a'] ) ); $view = htmlspecialchars(trim($APPLICATION->view_name)); }else { $a = 'default'; $view = 'default'; } $folder = basename(getcwd()); if ($folder=='panel'): $folder='/panel'; $custom_view = $_SETTINGS['doc_dir'].$folder.'/themes/'.$_SETTINGS['admin_theme'].'/modules/'.$a.'/views/'.$view.'.php'; else: $folder='' ; $custom_view = $_SETTINGS['doc_dir'].$folder.'/themes/'.$APPLICATION->choose_theme().'/modules/'.$a.'/views/'.$view.'.php'; endif; $work_folder = $_SETTINGS['doc_dir'].$folder.'/modules/'.$a.'/views/'.$view.'.php'; $default_work_folder = $_SETTINGS['doc_dir'].$folder.'/modules/default/views/'.$view.'.php'; if (file_exists($custom_view)): include $custom_view; elseif (file_exists($work_folder)): include $work_folder; elseif (file_exists($default_work_folder)): include $default_work_folder; else: echo MODULE_NOT_FOUND; endif;
Как я уже писал выше, в этом коде мы проверяем есть ли файл отображения в модуля, в шаблоне сайта или админ панели. Если такового нет то подключаем модуль отображения находящийся в самой папочке модуля.
$APPLICATION->choose_theme() — этот метод осуществляет выборку и возврат текущей активной темы для сайта.
Если же мы выполнили вызов этого файла из админ панели, то название темы берётся из $_SETTINGS[‘admin_theme’], который в свою очередь прописан в файле conf.php.
Исходные коды можно скачать тут
Всё как то очень сложно. Не могли бы по проще объяснить.
Когда 3 урок???