Создание статического сайта и темы оформления

Для разработки статического сайта достаточно взаимодействия с модулями Страницы, Блоки, Меню (с подробной информацией можно ознакомиться в соответствующих разделах документации).

Все достаточно просто, в разделе «Страницы» Вам нужно создать свою структуру сайта (создать страницы, разместить блоки).

Далее добавить меню, содержащие ссылки на страницы в разделе «Меню».

После создания меню необходимо создать блок, который будет его отображать, например блоки «Верхнее меню» и «Нижнее меню».  Блоки создаются в разделе «Блоки».

Далее станет возможным добавление этих меню-блоков на страницы.

Публичный интерфейс позволяет использовать различные темы оформления страниц и карты блоков.

Тема страницы назначается для каждой страницы индивидуально в разделе «Страницы».

Чтобы создать новую тему оформления необходимо создать соответствующую папку по адресу 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'
)
)
);