Условные теги отображения контента на сайте (обновлено)



Всем привет! Сегодня поговорим о выводе кода (текст/гаджета) на страницах вашего блога. С помощью условных операторов можно настроить отображение виджета на конкретной странице блога: главная, страница записи или страница ярлыка.


Условные теги отображения контента на сайте

Как это устроенно?

Чтобы понять что такое условные теги и как они работают, можно привести простой пример:

<b:if cond='погода == дождливая'>
  я остаюсь дома
<b:else/>
  иду гулять
</b:if>

Что можно интерпретировать как:
"Если (b:if cond) погода дождливая, то я остаюсь дома, иначе (b:else) иду гулять".

Когда мы вместо равенства указываем !=, то получается с точностью наоборот:

<b:if cond='погода != дождливая'>
  я остаюсь дома
<b:else/>
  иду гулять
</b:if>

"Если погода не дождливая, то я остаюсь дома, иначе иду гулять".

Как использовать условные теги (для старых шаблонов)?


<b:if cond='УСЛОВНЫЙ_ТЕГ_ЗДЕСЬ'>
<--- Ваш код элемента здесь в формате HTML/CSS--->
</b:if>

1.Главная (HomePage)

a. Показывать элемент только на главной странице
<b:if cond='data:blog.url == data:blog.homepageUrl'>
</b:if>

b. Показывать элемент везде кроме главной страницы
<b:if cond='data:blog.url != data:blog.homepageUrl'>
</b:if>

2. Индекс сайта

a. Показывать элемент только на главной, странице ярлыков и странице архива по годам
<b:if cond='data:blog.pageType == &quot;index&quot;'>
</b:if>

b. Показывать элемент везде кроме главной, страницы ярлыков и страницы архива по годам
<b:if cond='data:blog.pageType != &quot;index&quot;'>
</b:if>

3. Страница записи (Single Post)

a. Показывать элемент только на странице записи/поста
<b:if cond='data:blog.pageType == &quot;item&quot;'>
</b:if>

b. Показывать элемент везде кроме страницы записи/поста
<b:if cond='data:blog.pageType != &quot;item&quot;'>
</b:if>

4. Статическая страница

a. Показывать элемент только на статической странице
<b:if cond='data:blog.pageType == "static_page"'>
</b:if>

b. Показывать элемент везде кроме статической странице
<b:if cond='data:blog.pageType != &quot;static_page&quot;'>
</b:if>

5. Страница архива

a. Показывать элемент только на странице архива
<b:if cond='data:blog.pageType == "archive"'>
</b:if>

b. Показывать элемент везде кроме страницы архива
<b:if cond='data:blog.pageType != &quot;archive&quot;'>
</b:if>

6. Специфический (уникальный) URL

a. Показывать элемент только на определенной странице
<b:if cond='data:blog.url == "URL_SPECIFIC_PAGE"'>
</b:if>

b. Показывать элемент везде кроме определенной страницы
<b:if cond='data:blog.url != "URL_SPECIFIC_PAGE"'>
</b:if>

7. Страница ярлыка

<b:if cond='data:blog.searchLabel'>
</b:if>

8. Страница результата поиска

Код для страницы с результатом поиска
<b:if cond='data:blog.searchQuery'>
</b:if>

8. Страница ошибки 404 (Error Pages)

Код для страницы ошибки 404
<b:if cond='data:blog.pageType == &quot;error_page&quot;'>
</b:if>

9. Мобильный вид (Mobile View)

Этот код позволяет показывает элемент только при мобильном просмотре
<b:if cond='data:blog.isMobile'>
</b:if>

10. Первая запись

Код позволяет работать с первым постом блога сверху (если точнее, то с последним опубликованым)
<b:if cond='data:post.isFirstPost'>
</b:if>

Один из вариантов задействования этих операторы я описал в материале про уникальные мететеги для страниц в Blogspot.

 Как использовать для новых шаблонов?

(Обновление от 24.11.2018) В комментариях к подборке шаблонов, благодаря проблеме  и по наводке читателя Дениса  узнал новые правила написания тегов.  Итак, теперь рекомендуется использовать следующие конструкции:

data:blog.canonicalHomepageUrl --► по новому --► data:blog.homepageUrl.canonical
data:blog.pageId --► по новому --► data:view.pageId
data:blog.postId --► по новому --► data:view.postId

И обращение нужно делать с помощью id (узнать можно через исходный код страницы):

Для 1 уникальной страницы:
<b:if cond='data:view.pageId == 123456789'></b:if>

Для нескольких страниц:
<b:if cond='data:view.pageId in [123456789, 123456789, 123456789]'></b:if>

Для 1 уникальной записи:
<b:if cond='data:view.postId == 123456789'></b:if>

Для нескольких записей:
<b:if cond='data:view.postId in [123456789, 123456789, 123456789]'></b:if>

Посмотрите обязательно видео о том, как известные бренды получили свое название.


Так, что творите. До встречи на страницах IP ;)

Ах да, друзья, чуть не забыл! Я недавно завел личный канал в Telegram, где делюсь своими мыслями по поводу продуктивности, отношений и жизни. Не блогерством единым живем. Буду рад каждому ;)



Комментарии

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

Популярное

Установка и настройка модема Huawei HG532e (+ мини-обзор)

Страница обратной связи для блогов на платформе Blogger \ Blogspot.com

Виджет профиля Instagram на ваш сайт/блог

🔥 Пусть говорят