Виджеты на страницах по выбору
Любые виджеты (гаджеты) Blogger можно показывать по желанию автора, ведущего блог (блогера). Просто надо отредактировать шаблон блога так, чтобы гаджеты Blogger отображались только в заданных местах блога. Это достаточно удобно и функционально. Каждый блогер рано или поздно задумывается о чем-то подобном. Разве нужен виджет Blogger похожих статей на главной?
Размещаем виджет на выбранной странице
Придётся измененять HTML код в шаблоне блога. Поэтому нужно будет сделать его резервную копию.
После всех приготовлений приступим к “готовке”. Первым делом наметим цель и определим тот гаджет, показ которого собираемся регулировать. Чтобы легче ориентироваться в шаблоне, обязательно зададим ему название, если таковое у него отсутствует. В нашем случае будем рассматривать пример виджета “Архив”. Озаглавливаем его, допустим, как “Календарь” в настройках элемента. В дальнейшем, после переделок, название можно будет убрать, при отсутствии необходимости в нем. Далее переходим во вкладку “Изменить шаблон”. Так как потребуется содержание виджетов, отметим галочкой “Расширить шаблоны виджетов”.
Теперь полностью обратимся к 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
В 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 == "http://адрес страницы/"'> | показ только для определенной пользователем страницы |
Если в теге условие равно (==) типу страницы, тогда виджет будет показываться, если не равно (!=), виджет запрещен к показу. На основе этого вы можете регулировать показ виджета на любом типе страниц.
Комментариев нет:
Отправить комментарий