Гаджеты на нужных страницах

Виджеты на страницах по выбору

Любые виджеты (гаджеты) 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 + &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

В Blogger существуют следующие типы страниц:
  1. homepageUrl – главная страница
  2. static_page – статичные страницы, например, страница Контактов и Содержания блога
  3. item – страницы сообщений
  4. index – страницы ярлыков
  5. 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 == "http://адрес страницы/"'> показ только для определенной пользователем страницы

Если в теге условие равно (==) типу страницы, тогда виджет будет показываться, если не равно (!=), виджет запрещен к показу. На основе этого вы можете регулировать показ виджета на любом типе страниц.

Комментариев нет:

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