Современная, быстрая и удобная система управления сайтом

Сайдбары и виджеты

Сайдбар (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-классы. :-)