воскресенье, 6 марта 2011 г.

Как показать/скрыть виджеты Blogger на отдельных страницах блога

В некоторых случаях возникает необходимость скрыть\показать отдельные виджеты\элементы на определенных страницах блога. Так, например, на статических страницах типа "Контакты", "Об авторе" и т.п. выглядит предпочтительным сократить высоту сайдабара, убрать виджеты  и элементы навигации. Это можно сделать используя условные операторы и теги в коде шаблона:
<b:if cond='data:blog.url == "http://yourblog.blogspot.com/p/blog-page.html"'>
     <!-- здесь код, который выводится на странице с указанным адресом -->
<b:else/>
     <!-- код, который выполнится на остальных страницах -->
</b:if>
или наоборот:
<b:if cond='data:blog.url != "http://yourblog.blogspot.com/p/blog-page.html"'>
     <!-- здесь код, который выводится на обычных страницах -->
<b:else/>
     <!-- код, который выполнится на странице с указанным адресом -->
</b:if>
на статических страницах:
<b:if cond='data:blog.pageType != "static_page"'>
     <!-- здесь код, который выводится на обычных страницах с постами -->
<b:else/>
     <!-- код, который выполнится на статической странице -->
</b:if>
только на главной станице:
<b:if cond='data:blog.url == data:blog.homepageUrl'>
     <!-- здесь код, который выводится на главной странице -->
<b:else/>
     <!-- код, который выполнится на остальных страницах -->
</b:if>
ну и так далее... Тэг <b:else> не обязателен. Если он отсутствует, в случае невыполнения условия в данном месте не отображается ничего. Далее по шагам с картинками.


Как показать виджеты только на конкретных URL:
   1. Заходим в свою панель Blogger » Дизайн » Элементы страницы.
   2. Нажмите "добавить гаджет" на боковую панель, выберите тип гаджета, который вам нужен и "сохранить". Теперь вы можете увидеть его верхней части боковой панели.
Например HTML/Javascript виджет:

   3. Далее переходим на вкладку "Изменить HTML" панели. Включать "Расширить шаблоны виджета" пока не нужно. Ищем в шаблоне следующий код:

   4. Скопируйте имя верхнего виджета. Например это HTML6.
   5. Включите "Расширить шаблоны виджета" и найдите имя своего виджета (HTML6):

   6. Вставте <b:if cond='data:blog.url == "Blog Post URL"'>  и </b:if> в то место, как показано на рисунке ниже.

ПРИМЕЧАНИЕ: Не забудьте заменить "Blog Post URL" вашим реальным URL, на котором хотите показать ваш виджет.
   7. Готово. Сохраните шаблон
Чтобы показать виджет только на странице с полным текстом поста
нужно в п.6 вставить код  <b:if cond='data:blog.pageType == "item"'>   </b:if>

Чтобы показать виджет только на главной странице
вставтье код <b:if cond='data:blog.url == data:blog.homepageUrl'> </b:if>

Таким образом, используя теги и переменные разметки BlogSpot можно управлять выводом различных элементов и контента блога.