Вопросы и ответы
Вебмастеру
Сайдбары и виджеты
Сайдбар (sidebar) — это боковая колонка сайта. Как правило здесь отображается какая-то дополнительная информация, например список рубрик или форма поиска. На сайте может быть любое количество сайдбаров и они могут располагаться в произвольных местах. Это определяется дизайном и возможностями используемого шаблона. Например в шаблоне Default предусмотрен один боковой сайдбар (первый).
Каждый сайдбар наполняется виджетами. Виджет (widget) — это блок, который выводит какую-то информацию. Например плагин «category» создает виджет «Рубрики», а плагин «login_form» — виджет «Форма входа».
Плагины виджетов
Чтобы виджет стал доступен, предварительно следует активировать его плагин. Если виджет указан в сайдбаре, но ещё не активирован его плагин, то он просто не выводится. Набор виджетов/плагинов вы определяете для своего сайта индивидуально. Например такие (названия плагинов):
- category — виджет рубрик.
- last_pages — виджет последних записей.
- last_pages_unit — виджет последних записей с большими возможностями.
- randomtext — случайные цитаты.
- search_form — форма поиска по сайту.
- text_block — текстовый виджет. Позволяет выводить простой текст, html или php-код.
- tagclouds — метки записей в виде «облака».
Добавление виджетов в сайдбар
Виджеты идентифицируются по своей «функции». Например виджет последних записей именуется как «last_pages_widget». Вам не нужно запоминать каждый виджет, поскольку для добавления виджета в сайдбар достаточно его выбрать из выпадающего списка.
Виджеты указываются в сайдбаре как обычный текст. Поэтому порядок вывода виджетов на сайте совпадает с этим списком.
Одноименные виджеты
Если требуется разместить несколько одноименных виджетов в сайдбарах, то после добавления виджета следует указать его уникальный номер или название. Например можно разместить несколько текстовых виджетов:
text_block_widget приветствие text_block_widget реклама text_block_widget счетчики
Название виджета не должно содержать пробелы. Вместо него вы можете использовать символ подчеркивания _
.
Если указать одноименные виджеты без дополнительной идентификации:
text_block_widget text_block_widget text_block_widget
то это создаёт неопределённость и будет выведен только какой-то один из этих виджетов (с неопределенными настройкам). Вместо имени виджета можно указать его номер (по умолчанию это 0), например:
text_block_widget 0 text_block_widget 3 text_block_widget 77
Перед тем, как переключаться на страницу «Виджеты», вначале нужно их определить в сайдбаре, поскольку название/номер виджета влияет на его настройки.
Настройки виджетов
Виджеты настраиваются после того, как определен их порядок в сайдбарах. На отдельной вкладке выводится схематичный блок виджета и все его настройки. Виджеты достаточно разные, поэтому используют свои специфичные настройки.
Как правило все опции имеют подробное описание и пример использования.
Удаление виджета
Чтобы убрать виджет просто удалите его строчку из сайдбара. Если виджет не планируется использовать, то можно деактивировать и его плагин.
Для того, чтобы виджет оставить, но не выводить его в сайдбаре, используйте в условии отображения false
.
Условие вывода виджета
Виджет может иметь условия отображения. Условие указывается третьим параметром (они разделены пробелами) в строчке виджета в виде PHP-кода (это и есть if-условие). Сами условия могут быть произвольными, например состоять из функций, которые возвращают true/false (истина/ложь).
text_block_widget 0 is_type('home')
В этом примере у виджета «text_block_widget» указан номер «0» (можно название), а условие — это is_type('home')
, которое возвращает true, если текущая страница — главная и false, если любая другая. То есть данный виджет будет отображен только на главной странице сайта.
Если виджет нужно просто отключить для отображения, достаточно указать false.
text_block_widget 0 false
Условия можно создавать самые разные с помощью логических операторов (всё то, что доступно в PHP).
text_block_widget 0 is_type('page') or is_type('category')
В данном примере виджет будет отображаться на странице одиночной записи или (or) любой рубрики.
Вы можете использовать некоторые функции MaxSite CMS для таких задач.
text_block_widget 0 is_type_slug('page', 'about')
Этот виджет будет выводиться на одиночной странице («page») с короткой ссылкой «about» (это соответствует адресу: http://вашсайт/page/about).
Функция is_page_cat(рубрика)
возвращает true, когда текущая запись принадлежит указанной рубрике, например:
text_block_widget 0 is_type_slug('category', 'news') or is_page_cat('news')
В данном случае виджет будет выводится на странице рубрики http://вашсайт/category/news а также в любой записи рубрики «news» (в данном случае «news» — это короткая ссылка рубрики).
Дополнительные CSS-классы виджета
У виджета также можно указать дополнительные произвольные CSS-классы с помощью конструкции @класс@
, например:
text_block_widget @my-class@
В данном случае виджету будет добавлен css-класс my-class
. Классов может быть сколько угодно, а сама конструкция @класс@
размещаться в любой части строки, даже так:
@my-class1 my-class2@ text_block_widget
Данная возможность пригодится продвинутым пользователям, которые знают что такое CSS-классы. :-)