Как отображать виджеты в Blogger в определённом месте/на определённой странице?
В первую очередь поясню, для чего это нужно. Иногда требуется рекламу, сообщение, баннер или кнопку отображать только в статьях, либо строго на статических страницах или только на архивных страницах, поэтому в движок блоггера предусматривает чёткие правила для таких действий.
На эту статью буду в дальнейшем ссылаться.
Поскольку весь контент чаще всего вставляется в блог через виджеты, типаhtml/javascript гаджет и другие, то правила в первую очередь распространяются именно на них.
Рассмотрим несколько действий на примере виджета/гаджета картинка.
На тестовом блоге в сайдбар я вставил этот виджет с изображением домика:
По умолчанию он виден и доступен из любой части блога. Теперь мне нужно узнать его содержимое.
Для это я выделяю на странице всё, что находится в этом виджете (на примере - картинка) и с помощью правой клавиши мыши в контекстном меню firefox смотрю исходный вид выделенного фрагмента.
Всё, что интересует - это id="Image1. По нему я найду в шаблоне (нужно перейти в редактор шаблона и обязательно поставить галку расширить шаблоны виджета) весь виджет:
Обратите внимание, что он, как и все остальные виджеты, заключён в теги<b:widget> </b:widget>. Всё, что внутри (включая ссылку на редактированиеquickedit), относится к виджету картинка, который блоггер пометил, как Image1.
Теперь посмотрите на второй скриншот, в котором помечено (салатовым цветом) правило (предварительно вставил), которое заставляет блоггер показывать это вижет (картинка) только на внутренних страницах (постах):
Т.е. строка тега с правилом, которую нужно вставлять после <b:widget ...> и <b:includable...> и соотвественно закрывающий тег правила нужно поместить перед последними:
<b:include name='quickedit'/>
</b:includable>
</b:widget>
Примеры правил.
Только на внутренних страницах:
Только на статических страницах:
Только на архивных страницах:
Только на главной (домашней) странице:
Только на страницах ярлыков/тегов (labels):
На определённой странице:
Отображать на страница: ярлыки/теги, главной, навигационных (предыдущая, следующая):
Дополнительное условие:
"!=" - означающее кроме.
Например, показывать на всех страницах, кроме указанной:
Или показывать виджет везде, кроме главной:
В первую очередь поясню, для чего это нужно. Иногда требуется рекламу, сообщение, баннер или кнопку отображать только в статьях, либо строго на статических страницах или только на архивных страницах, поэтому в движок блоггера предусматривает чёткие правила для таких действий.
На эту статью буду в дальнейшем ссылаться.
Поскольку весь контент чаще всего вставляется в блог через виджеты, типаhtml/javascript гаджет и другие, то правила в первую очередь распространяются именно на них.
Рассмотрим несколько действий на примере виджета/гаджета картинка.
На тестовом блоге в сайдбар я вставил этот виджет с изображением домика:
По умолчанию он виден и доступен из любой части блога. Теперь мне нужно узнать его содержимое.
Для это я выделяю на странице всё, что находится в этом виджете (на примере - картинка) и с помощью правой клавиши мыши в контекстном меню firefox смотрю исходный вид выделенного фрагмента.
Всё, что интересует - это id="Image1. По нему я найду в шаблоне (нужно перейти в редактор шаблона и обязательно поставить галку расширить шаблоны виджета) весь виджет:
Обратите внимание, что он, как и все остальные виджеты, заключён в теги<b:widget> </b:widget>. Всё, что внутри (включая ссылку на редактированиеquickedit), относится к виджету картинка, который блоггер пометил, как Image1.
Теперь посмотрите на второй скриншот, в котором помечено (салатовым цветом) правило (предварительно вставил), которое заставляет блоггер показывать это вижет (картинка) только на внутренних страницах (постах):
Т.е. строка тега с правилом, которую нужно вставлять после <b:widget ...> и <b:includable...> и соотвественно закрывающий тег правила нужно поместить перед последними:
<b:include name='quickedit'/>
</b:includable>
</b:widget>
Примеры правил.
Только на внутренних страницах:
1.
<
b:if
cond
=
'data:blog.pageType == "item"'
>
2.
содержимое виджета/код
3.
</
b:if
>
Только на статических страницах:
1.
<
b:if
cond
=
'data:blog.pageType == "static_page"'
>
2.
содержимое виджета/код
3.
</
b:if
>
Только на архивных страницах:
1.
<
b:if
cond
=
'data:blog.pageType == "archive"'
>
2.
содержимое виджета/код
3.
</
b:if
>
Только на главной (домашней) странице:
1.
<
b:if
cond
=
'data:blog.url == data:blog.homepageUrl'
>
2.
содержимое виджета/код
3.
</
b:if
>
Только на страницах ярлыков/тегов (labels):
1.
<
b:if
cond
=
'data:blog.searchLabel'
>
2.
содержимое вижета/код
3.
</
b:if
>
На определённой странице:
1.
<
b:if
cond
=
'data:blog.url == "url_страницы"'
>
2.
содержимое виджета/код
3.
</
b:if
>
Отображать на страница: ярлыки/теги, главной, навигационных (предыдущая, следующая):
1.
<
b:if
cond
=
'data:blog.pageType == "index"'
>
2.
содержимое виджета/код
3.
</
b:if
>
Дополнительное условие:
"!=" - означающее кроме.
Например, показывать на всех страницах, кроме указанной:
1.
<
b:if
cond
=
'data:blog.url != "url_страницы"'
>
2.
содержимое виджета/код
3.
</
b:if
>
Или показывать виджет везде, кроме главной:
1.
<
b:if
cond
=
'data:blog.url != data:blog.homepageUrl'
>
2.
содержимое виджета/код
3.
</
b:if
>
Комментариев нет:
Отправить комментарий