Управляем показом гаджетов на блоге

Управляем показом гаджетов на блоге

  Чаще всего все элементы блога являются статичными и не меняются при просмотре разных страниц. С одной стороны это удобно, так как всё необходимое всегда под рукой у читателя, но с другой стороны некоторые гаджеты могут быть избыточными.
Например, это может быть рекламный баннер или гаджет "Случайные сообщения". Достаточно увидеть всех читателей на главной странице, а не смущаться от взглядов сотен аватарок с каждой страницы.


Давайте разрешим показ гаджетов только на определённых типах страниц. В Blogger имеются следующие типы страниц (pageType):

index
это главная страница блога
item
это страница отдельного поста
archive
это страницы с архивами за определённый месяц года
static_page
это  статистические страницы
Значит, мы можем управлять показом гаджетов на трёх типах страниц.
Возможно, Вы уже встречали следующий код для шаблона:

<b:if cond='data:blog.pageType != "item"'>

далее идёт какой-то код

</b:if>

Именно это конструкция и позволяет управлять показом элементов шаблона в зависимости от того, на какой странице находится читатель.

Давайте сделаем так, чтобы виджет "Постоянные читатели" был виден только на главной странице, а на остальных — нет. Для этого нужно проделать ряд несложных действий:

  1. Перейти на панель управления блогом
  2. Перейти на вкладку Макет
  3. Перейти в раздел Изменить HTML
  4. Отметьте галочку "Расширить шаблоны виджета"
Теперь необходимо найти нужные виджеты. Все виджеты заключены в теги:

<b:widget [...attributes...] />
<b:includable id='main' var='thiswidget'>

    [тут содержимое виджета]

</b:includable>
</b:widget>

Надеюсь, Вы сможете найти аналогичные элементы в своём шаблоне.
Для того чтобы управлять показом виджета на разных страницах достаточно использовать теги:

<b:widget [...attributes...] />
<b:includable id='main' var='thiswidget'>

<b:if cond='data:blog.pageType != "item"'>
    [тут содержимое виджета]

</b:if>
</b:includable>
</b:widget>

В этом примере я указал, что если тип страницы не равен (!=) item, то следует показать виджет. Если же тип страницы будет равен item, то виджет показываться не будет.

Комментариев нет: