Создание статического сайта и темы оформления
Для разработки статического сайта достаточно взаимодействия с модулями Страницы, Блоки, Меню (с подробной информацией можно ознакомиться в соответствующих разделах документации).
Все достаточно просто, в разделе «Страницы» Вам нужно создать свою структуру сайта (создать страницы, разместить блоки).
Далее добавить меню, содержащие ссылки на страницы в разделе «Меню».
После создания меню необходимо создать блок, который будет его отображать, например блоки «Верхнее меню» и «Нижнее меню». Блоки создаются в разделе «Блоки».
Далее станет возможным добавление этих меню-блоков на страницы.
Публичный интерфейс позволяет использовать различные темы оформления страниц и карты блоков.
Тема страницы назначается для каждой страницы индивидуально в разделе «Страницы».
Чтобы создать новую тему оформления необходимо создать соответствующую папку по адресу www/templates/public/[имя вашей темы] (во избежание проблем необходимо использовать только буквы латинского алфавита и цифры).
Ваша тема должна содержать минимум два файла:
- layout.php — основной шаблон, содержащий HTML-код, макет страницы может быть разделен на несколько элементов, например Header, Content, Footer, в таком случае можно создать соответствующие файлы в папке c темой и подключить элементы при помощи класса Template;
- layout_cfg.php (карта расположения блоков) - массив, очень похож на описание таблицы в html, главный параметр, который необходимо указать для элемента карты (более подробно структура будет разобрана ниже):
'myContainer'=>array( isElContainer= > true ... )
В этом случае в редакторе страницы можно будет поместить блок в этот контейнер.
После создания темы ее можно будет назначить для страницы в соответствующем разделе, при этом карта блоков подхватится автоматически и во вкладке «Карта блоков» станет доступной возможность размещения блоков.
Для того, чтобы вывести блоки в шаблоне выполните запрос к менеджеру блоков по ключу элемента, который Вы обозначили как контейнер, например:
<?php echo $this->blockManager->getBlocksHtml('myContainer');?>
Необходимо помнить, если вы используете вложенные шаблоны, не забудьте передать в них ссылку на блок-менеджер.
Для начала попробуйте сделать тему по аналогии с уже готовой, изменяя параметры карты блоков и шаблоны.
Параметры которые указываются в карте блоков:
- 'columns' - количество колонок (целое число);
- 'items' - массив, cписок элементов, по ключу элемента к нему осуществляется доступ через менеджер блоков (используйте только латинские буквы и цифры).
Элемент может содержать следующие свойства:
- colspan - целое число, количество занимаемых ячеек по горизонтали;
- rowspan - целое число, количество занимаемых ячеек по вертикали;
- isElContainer (true/false) - разрешить/запретить позиционирование блока в ячейке;
- width - целое число, ширина ячейки;
- height - целое число, высота ячейки;
- html - произвольный html или текст для не контейнерного элемента.
Количество строк вычисляется автоматически.
Эти атрибуты используются в административной панели для отображения карты блоков и не влияют на верстку Вашего шаблона.
Пример файла конфигурации:
return array(
'columns'=>3,
'items'=>array(
'b1'=>array(
'colspan'=>3,
'container'=>false,
'width'=>600,
'height'=>80,
'html'=>'Header'
),
'leftblock'=>array(
'container'=>true,
'width'=>150,
'height'=>300
),
'b3'=>array(
'container'=>false,
'dataArea'=>true,
'width'=>300,
'height'=>300,
'html'=>'Main content'
),
'rightblock'=>array(
'container'=>true,
'width'=>150,
'height'=>300
),
'b5'=>array(
'colspan'=>3,
'container'=>false,
'width'=>600,
'height'=>80,
'html'=>'footer'
)
)
);