По желанию автора, ведущего блог (блогера), можно управлять показами любых виджетов (гаджетов) в шаблоне блога так, чтобы гаджеты отображались только на заданных страницах блога. Это достаточно удобно и функционально. Каждый блогер рано или поздно задумывается о чем-то подобном. Разве нужен гаджет похожих статей на странице оглавления?
Изменения придётся делать в самом шаблоне блога. Поэтому нужно будет сделать его резервную копию.
После всех приготовлений приступим к “готовке”. Первым делом наметим цель и определим тот гаджет, показ которого собираемся регулировать. Чтобы легче ориентироваться в шаблоне, обязательно зададим ему название, если таковое у него отсутствует. В нашем случае будем рассматривать пример виджета “Архив”. Озаглавливаем его, допустим, как “Календарь” в настройках элемента. В дальнейшем, после переделок, название можно будет убрать, при отсутствии необходимости в нем. Далее переходим во вкладку “Изменить шаблон”. Так как потребуется содержание виджетов, отметим галочкой “Расширить шаблоны виджетов”.
Теперь полностью обратимся к HTML-шаблону. Как правило, все виджеты в шаблоне Blogger заключены в теги:
view plainprint?
<b:widget [id, название и тип виджета] />
<b:includable id='main'>
[содержимое виджета]
</b:includable>
</b:widget>
С помощью комбинации клавиш "CTRL+F" находим название нашего элемента. Продолжая взятый выше пример, название архива, а именно “Календарь”, будет находиться примерно вот в такой строке (для чего мы и давали ему название):
view plainprint?
<b:widget id='BlogArchive1' locked='false' title='Календарь' type='BlogArchive'>
Эта строка является началом архива. Чтобы виджет отображался на нужной странице, в его код достаточно добавить теги:
view plainprint?
<b:widget [id, название и тип виджета] />
<b:includable id='main'>
<b:if cond='data:blog.pageType == "тип страницы"'>
[содержимое виджета]
</b:if>
</b:includable>
</b:widget>
В случае с гаджетом “Календарь” это будет выглядеть так:
view plainprint?
<b:widget id='BlogArchive1' locked='false' title=Календарь' type='BlogArchive'>
<b:includable id='main'>
<b:if cond='data:blog.pageType == "тип страницы"'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div class='widget-content'>
<div id='ArchiveList'>
<div expr:id='data:widget.instanceId + "_ArchiveList"'>
<b:if cond='data:style == "HIERARCHY"'>
<b:include data='data' name='interval'/>
</b:if>
<b:if cond='data:style == "FLAT"'>
<b:include data='data' name='flat'/>
</b:if>
<b:if cond='data:style == "MENU"'>
<b:include data='data' name='menu'/>
</b:if>
</div>
</div>
<b:include name='quickedit'/>
</div>
</b:if>
</b:includable>
</b:widget>
Все символы кода, заключенные между указанными тегами, являются содержанием виджета.
Надеюсь, что у вас получится прописать теги в нужных местах. Ориентируйтесь на строки кода, обозначенные синим цветом.
Сам по себе тег <b:if cond='data:blog.pageType == "тип страницы"'> не имеет функциональности, в данном контексте это условие, обозначающее тип страниц, на которых должен показываться гаджет или не показываться и обозначено для примера.
В Blogger существуют следующие типы страниц:
homepageUrl – главная страница
static_page – статичные страницы, например, страница Контактов и Содержания блога
item – страницы сообщений
index – страницы ярлыков
archive – страницы архива
Чтобы вывести или наоборот скрыть виджет на определенной странице вместо открывающего тега <b:if cond='data:blog.pageType == "тип страницы"'>, служащего образцом, воспользуйтесь строкой кода из таблицы ниже:
№ |
Условие для определенных страниц |
Обозначение |
1 |
<b:if cond='data:blog.url == data:blog.homepageUrl'> |
показ только для главной страницы |
2 |
<b:if cond='data:blog.pageType == "item"'> |
показ только для страниц сообщений |
3 |
<b:if cond='data:blog.pageType == "archive"'> |
показ только для страниц архива |
4 |
<b:if cond='data:blog.url != data:blog.homepageUrl'> |
показ для всех страниц, кроме главной |
5 |
<b:if cond='data:blog.pageType == "static_page"'> |
показ только для статичных страниц |
6 |
<b:if cond='data:blog.pageType == "index"'> |
показ только для главной и для страниц ярлыков |
7 |
<b:if cond='data:blog.url == "[url]http://адрес[/url] страницы/"'> |
показ только для определенной пользователем страницы |
Если в теге условие равно (==) типу страницы, тогда виджет будет показываться, если не равно (!=),
виджет запрещен к показу. На основе этого вы можете регулировать показ виджета на любом типе страниц.ИСТОЧНИК: http://ob-bl.blogspot.ru/2013/02/pokaz-gadzetov.html
|
|
0 коммент.:
Отправить комментарий