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');?>