воскресенье, 21 февраля 2010 г.

Управляем показом гаджетов на блоге

Чаще всего все элементы блога являются статичными и не меняются при просмотре разных страниц. С одной стороны это удобно, так как всё необходимое всегда под рукой у читателя, но с другой стороны некоторые гаджеты могут быть избыточными. Например, это может быть рекламный баннер или гаджет "Постоянные читатели". Достаточно увидеть всех читателей на главной странице, а не смущаться от взглядов сотен аватарок с каждой страницы.


Давайте разрешим показ гаджетов только на определённых типах страниц. В Blogger имеются следующие типы страниц (pageType):

index
это главная страница блога
item
это страница отдельного поста
archive
это страницы с архивами за определённый месяц года
static_page
это статичные страницы
Значит, мы можем управлять показом гаджетов на трёх типах страниц.

Возможно, Вы уже встречали следующий код для шаблона:

<b:if cond='data:blog.pageType != "item"'>

далее идёт какой-то код

</b:if>

Именно это конструкция и позволяет управлять показом элементов шаблона в зависимости от того, на какой странице находится читатель.

Давайте сделаем так, чтобы виджет "Постоянные читатели" был виден только на главной странице, а на остальных — нет. Для этого нужно проделать ряд несложных действий:

  1. Перейти на панель управления блогом
  2. Перейти на вкладку Макет
  3. Перейти в раздел Изменить HTML
  4. Отметьте галочку "Расширить шаблоны виджета"
Теперь необходимо найти нужные виджеты. Все виджеты заключены в теги:

<b:widget [...attributes...] />
<b:includable id='main' var='thiswidget'>

    [тут содержимое виджета]

</b:includable>
</b:widget>

Надеюсь, Вы сможете найти аналогичные элементы в своём шаблоне.

Для того чтобы управлять показом виджета на разных страницах достаточно использовать теги:

<b:widget [...attributes...] />
<b:includable id='main' var='thiswidget'>

<b:if cond='data:blog.pageType != "item"'>
    [тут содержимое виджета]

</b:if>
</b:includable>
</b:widget>

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

16 коммент.:

IvanXP комментирует...

К сожалению, мне не удалось добиться показа "Постоянных читателей" только на главной странице. Видимо в Blogger есть ограничение на вложенность b:if. Но для примера я убрал баннер pr-cy.ru/blogs с внутренних страниц.

Андрей Рыбальченко комментирует...

Что-то я не разобрался.
У меня проблемы с HTML кодом.

IvanXP комментирует...

В чём конкретно проблема? Вы нашли b:widget ?

Андрей Рыбальченко комментирует...

Эти слова в коде встречаются не один раз

Андрей Рыбальченко комментирует...

нашел к этому гаджету кажется.

IvanXP комментирует...

Отлично, жду результатов.

Андрей Рыбальченко комментирует...

можешь связаться со мной по аське или через гугл тальк?
464-087-541
a.a.rybalchenko@gmail.com

IvanXP комментирует...

Без проблем, через google talk отправил запрос авторизации. Жду ответа.

blogger4you комментирует...

Все так, Иван, так сказать "встроенные" Blogger'овские гаджеты (постоянные читатели, архив, я подозреваю поиск..) - они либо есть, либо их нет... Кайл вот тоже с эти долго мучился. А с другой стороны, зачем ограничивать читателей в возможности быть постоянным читателем, ведь 80% читателей приходящих с поисковиков приходя на конкретные страницы блога и если информация им показалась полезно они возможно захотят стать постоянными читаетлями блога, даже не заходя на главную страницу блога.

Классная статья, очень четко написано!
Света

IvanXP комментирует...

Спасибо, Света, за информацию. Значит я не один мучался над этими гаджетами. Да, действительно, не стоит убирать "Постоянные читатели" со страниц блога, хорошо, что у меня не получилось это сделать.

Андрей Рыбальченко комментирует...

Иван спасибо за помощь!!!
Все удалось, хоть и с большим трудом.

Лешик комментирует...

И что это новость?

Игорь комментирует...

может это конечно и полезная штука, но у меня почему-то даже не возникало мысли, что бы прятать гаджеты)))

poster комментирует...

Статья полезная даже если сечас ничего не хочеться убирать в будущем может пригодиться.Добавил в закладки.

KsuBerry комментирует...

я так рада, что наткнулась на этот блог...здесь есть ответы на все мои вопросы....жаль только, я страдаю критическим кретинизмом в вопросах HTML...и ничерта не понимаю..

Хамавова Асиль комментирует...

не получилось, не смогла найти что и как поменять

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

Примечание. Отправлять комментарии могут только участники этого блога.

 
item