ASISG
Gy - php framework/CMS | Документацыя | Компоненты
Компоненты
Компоненты находятся в разделе /gy/component/ , далее для каждого компонента свой раздел с название компонента.
Компоненты нельзя (не рекомендуется) отдельно вызвать из браузера либо подключить include без подключения ядра gy php framework.
Например компонент users_all_tables - выводит всех пользователей в админке gy php framework, его структура:
/gy/component/users_all_tables/controller.php- тут выполняются действия и запускается шаблон. к контроллеру может подключаться файл модели/gy/component/users_all_tables/teplates/0/template.php- это шаблон компонента/gy/component/users_all_tables/teplates/0/lang_template.php- это языковой файл компонента, он доступен в шаблоне, можно хранить тексты для разных языков
Также в папке компонента (/gy/component/users_all_tables/) может находиться model.php - это должна быть модель в понимание MVC
Также в папке компонента (/gy/component/users_all_tables/) может находиться файл lang_controller.php - это языковой файл который будет доступен в контролере
Имеется файл /gy/component/users_all_tables/componentInfo.php - в котором указано описание компонента, версия, название, описание, какие поля можно задать.(Он нужен для вывода информации в визуальном конструкторе страниц)
И имеется файл /gy/component/users_all_tables/lang_componentInfo.php - в котором фразы для файла /gy/component/users_all_tables/componentInfo.php.
Компоненты могут находиться в модуле например /modules/<название модуля>/component/<название компонента> и в пользовательском разделе /customDir/component.
(При этом компоненты могут одинаково называться и переопределять себя при вызове, приоритет загрузки: /customDir/... -> /gy/modules/... ->/gy/component/...)
Пример языкового файла компонента
<? // языковой файл для шаблона компонента
if ( !defined("GY_CORE") && (GY_CORE !== true) ) die( "gy: err include core" );
$mess['rus'] = array(
'del-user' => 'удалить'
);
Пример запуска шаблона компонента из файла controller.php
$this->template->show($arRes, $this->arParam);
Пример вывода текста из языкового файла в шаблоне компонента
<?=$this->lang->GetMessage('del-user');?>