ASISG
Gy - php framework/CMS | Документацыя | Контейнер данных
Контейнер данных (container_data)
Это сущности сделанные для хранения различных данных. например контента страниц. Можно создать контейнер данных, дать ему имя и код, задать свойства текущему контейнеру данных (пока есть html и число), затем можно создавать элементы этого контейнера данных (к элементу относится название, код и значения свойств). Можно задавать неограниченное количество свойств для контейнера данных.
Работа c контейнером данных из админки
Работать можно зайдя в админ панель gy далее вкладка "Контейнеры данных", на открывшейся странице имеется список текущих заданных контейнеров данных (по умолчанию. после установки для примера есть контейнер с кодом Content и одним элементом).
Тут можно создать новый контейнер данных с другим именем или отредактировать любой, удалить или работать с элементами выбранного контейнера данных.
Если зайти в редактирование любого контейнера данных можно изменить его имя или код, а также будет доступна кнопка "Редактировать свойства этого контейнера данных" , после нажатия которой можно задать свойства которые будет в каждом элементе выбранного контейнера данных (пока они могут быть или html или число, их может быть большое количество и их можно удалять задавать новые).
Зайдя в выбранный "Контейнеры данных" можно также нажать "Работа с элементами контейнера данных" где можно задавать новые элементы, удалять или изменять, а также изменять свойства выбранного элемента текущего контейнера данных.
Работа с контейнерами данных в коде
Для работы с контейнерами данных в коде реализован класс containerData (gy/classes/containerData), в котором имеются все необходимые методы (в файле класса есть описание методов).
Например так можно получить все типы свойств ContainerData:
containerData::getAllTypePropertysContainerData();
Также реализованы компоненты для работы с контейнерами данных, они вызываются на страницах админки связанных с контейнерами данных.
Ниже пример компонента выводящего тестовый контент (находится на главной после установки и выводит данные заданные в базу для примера):
$APP->component(
'containerdata_element_show', // название подключаемого компонента
'0', // шаблон компонента (по умолчанию)
array(
'container-data-code' => 'Content', // код контйенера данных, откуда будет браться контент
'element-code' => 'html-index-page', // код элемента относящегося к заданному контейнеру данных
'cacheTime' => 86400 // время кеширования, закешить на 24 ч.
)
);