Начальный уровень
Шапка сайта
Шапка сайта один из самых важных элементов сайта и, когда вы будете делать свой сайт, то скорее всего вам потребуется создавать свой вариант. Default-шаблон предлагает два компонента шапки, которые являются неким «типовым» вариантом для многих сайтов.
Для того, чтобы каждый раз не править файлы шапки, используются опции компонентов. Они доступны в админ-панели в настройках шаблона, каждый на своей вкладке.
Рассмотрим для примера компонент Header2.
В Header2 всего одна настройка, которая представляет собой т.н. секционные опции. Они очень похожи на юниты главной, где каждая секция представляет собой пару «ключ = значение». В отличие от юнитов, где используются только секции [unit], в секционных опциях секции могут именоваться произвольно (так как задумал автор компонента).
В данном случае мы видим, что Header2 используются секции:
- site
- block
- social
Нетрудно догадаться, что каждая секция выводится в определенном месте компонента.
Если бы не секционные опции, то пришлось бы делать очень много «обычных» опций. Кроме того, секционные опции позволяют произвольно менять количество блоков для вывода. Например если нужно оставить только один блок телефона, то второй блок с email достаточно просто удалить. Точно также, если нужно добавить ещё один блок, то всё что нужно сделать, так это вставить ещё одну секцию. С обычными опциями такой вариант реализовать очень сложно.
Секция site управляет первым блоком шапки.
- name — здесь указывается название сайта
- name-class — это css-классы для названия
- description — блок описания
- icon — css-классы иконок
- effect — эффекты меню (0 или 1 — это фиксация меню)
В CSS-классах вы уже немного ориентируетесь.
- t-robotoslab — шрифт Roboto Slab
- t180 — размер шрифта в процентах от базового (16px)
- pad0-phone — установить padding: 0 для экранов телефонов (менее 667px)
- t-center-phone — сделать выравнивание по центру для телефонов
- hover-t-cyan700 — цвет текста cyan700 при наведении курсором (hover)
В качестве иконок в Default шаблоне используется иконочный шрифт FontAwesome 5. В этой библиотеке для того, чтобы задать иконку используется два css-класса — первый это шрифт, а второй — символ. Например fab указывает на шрифт brand, fas — solid, far — regular.
Классы иконок имеют единый префикс «fa-», после чего идет код иконки. Например fa-google-wallet указывает на иконку «google-wallet».
В галерее FontAwesome 5 вы можете подобрать иконку для своего сайта. Выбор там достаточно большой — более 1500 иконок.
Секции block содержат данные для средних блоков шапки. Они выводятся последовательно так, как указаны в опциях.
- name — заголовок блока
- icon — классы иконки
- href — адрес ссылки (можно использовать код
[ siteurl]
, который заменится на адрес сайта) - link — название/текст ссылки
Секции social выводятся просто как иконки.
- class — классы иконки
- href — адрес ссылки
- title — всплывающая подсказка
Компонент Header1 работает точно также, только в нём используется немного другой дизайн. Такие компоненты универсальные: их настройки позволяют менять данные шапки в очень широких пределах.
Когда возможностей компонента недостаточно, то лучшим вариантом будет создание своего компонента, где будут учтены все ваши пожелания. Технически компоненты — это обычный html-код. Если компонент делается «под себя», то можно не создавать для него опции, а сразу прописать все тексты, иконки, ссылки и т.п. в файле. При необходимости его можно поправить прямо в админ-панели. Если же использовать опции, то это потребует создания более сложного php-кода компонента, что делает такие операции недоступными для новичков.
Но в любом случае, следует понимать, что создание компонента потребует хотя бы минимального знания HTML и умения ориентироваться в классах Berry CSS.
Так же вам следует знать, что Default шаблон содержит ещё один css-фреймворк Bootstap 4, который состоит из множества готовых элементов. Для их использования во многих случаях будет достаточно просто скопировать предлагаемый код в файл компонента.
Универсальные компоненты «Any» и «File»
Если вам нужно сделать какой-то несложный компонент, то можно воспользоваться Any1 (и Any2). Например если вам нужно разместить в шапке рекламный баннер, то не обязательно создавать отдельный компонент. Достаточно разместить код в опции Any1.
Компонент File1 (и File2) похожи на Any1, только код размещается в отдельном php-файле и просто указывается его имя. File1 часто используется вебмастерами при создании шаблонов, особенно, если предполагается сразу несколько дизайн-блоков. Здесь вместо того, чтобы заниматься копированием в Any1, достаточно указать имя нужного файла.
Компонент LightSlider
Компонент слайдера больше демонстрационный, поскольку любой слайдер сам по себе должен иметь какое-то целевое назначение, а не быть простой «листалкой» картинок. Настройки слайдера также выполняются через секционные опции. Секция options похожа на то, что мы рассмотрели выше, а вот секции js и slide устроены немного по другому.
В них нет пары «ключ = значение», а используется всё содержимое секции. В js это js-параметры слайдера (то на чём он написан), а в slide указывается полный html-код каждого слайда.
Кроме компонента шапки, LightSlider можно вывести как блоки юнитов. В комплект Default-шаблона входит unit-файл lightslider.php
(как и last-pages.php
), который подключает необходимый код слайдера. После этого вторым юнитом указывается html-разметка слайдера.
- первый юнит — подключает LightSlider - здесь же указываются его опции [unit] file = lightslider.php element = .lightslider js_file = components/lightslider/lightslider.js loop = 1 pager = 1 auto = 1 rtl = 0 mode = slide item = 1 speed = 400 pause = 2000 controls = 1 vertical = 0 verticalHeight = 400 adaptiveHeight = 0 slideMargin = 10 [/unit] - второй юнит, который формирует html-код слайдера [unit] html = _START_ <ul class="lightslider"> <li> <h3>First Slide</h3> <p>Lorem ipsum Cupidatat quis pariatur anim.</p> </li> <li> <h3>Second Slide</h3> <p>Lorem ipsum Excepteur amet adipisicing fugiat velit nisi.</p> </li> </ul> _END_ [/unit]
Подобный вариант вывода LightSlider часто используется для случаев, когда требуется выводить динамический контент слайдера, например последние записи. Для более простых вещей можно выводить любой компонент через юниты.
- первый юнит подключает js-код слайдера [unit] file = lightslider-js.php [/unit] - второй — выводит сам компонент [unit] component = lightslider [/unit]
Ключ component указывает на каталог компонента. В данном примере будет выведен LightSlider. Здесь используется два юнита из-за особенностей строения самого слайдера, в других компонентах достаточно будет одного юнита с ключом «component».