Google+ Blogger WordPress Facebook Like Vkontakte Odnoklassniki LiveJournal vKruguDruzei Facebook Email Gmail
воскресенье, 15 апреля 2018 г.

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

По желанию автора, ведущего блог (блогера), можно управлять показами любых виджетов (гаджетов) в шаблоне блога так, чтобы гаджеты отображались только на заданных страницах блога. Это достаточно удобно и функционально. Каждый блогер рано или поздно задумывается о чем-то подобном. Разве нужен гаджет похожих статей на странице оглавления?
Изменения придётся делать в самом шаблоне блога. Поэтому нужно будет сделать его резервную копию.
После всех приготовлений приступим к “готовке”. Первым делом наметим цель и определим тот гаджет, показ которого собираемся регулировать. Чтобы легче ориентироваться в шаблоне, обязательно зададим ему название, если таковое у него отсутствует. В нашем случае будем рассматривать пример виджета “Архив”. Озаглавливаем его, допустим, как “Календарь” в настройках элемента. В дальнейшем, после переделок, название можно будет убрать, при отсутствии необходимости в нем. Далее переходим во вкладку “Изменить шаблон”. Так как потребуется содержание виджетов, отметим галочкой “Расширить шаблоны виджетов”.

Теперь полностью обратимся к 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 + &quot;_ArchiveList&quot;'>
    <b:if cond='data:style == &quot;HIERARCHY&quot;'>
    <b:include data='data' name='interval'/>
    </b:if>
    <b:if cond='data:style == &quot;FLAT&quot;'>
    <b:include data='data' name='flat'/>
    </b:if>
    <b:if cond='data:style == &quot;MENU&quot;'>
    <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 == &quot;item&quot;'> показ только для страниц сообщений
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 == &quot;static_page&quot;'> показ только для статичных страниц
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 коммент.:

Отправить комментарий