Шаблон: повышенный уровень сложности | Blogger

Приведены дельные примеры, не буду повторяться:

Теги if, elseif и else (b:if)

Самое важное. Объяснение вынесено в отдельную статью: «Использование условных тегов в Blogger».

Тег elseif

<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/1.html"'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html</h1>
<b:elseif cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/2.html"'/>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
<b:elseif cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/3.html"'/>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/3.html</h1>
<b:else/>
    <h1>Показано везде, кроме http://prilozhenie19.blogspot.com/2016/09/1.html, http://prilozhenie19.blogspot.com/2016/09/2.html и http://prilozhenie19.blogspot.com/2016/09/3.html</h1>
</b:if>
равнозначно
<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/1.html"'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html</h1>
<b:else/>
    <b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/2.html"'>
        <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
    <b:else/>
        <b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/3.html"'>
            <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/3.html</h1>
        <b:else/>
            <h1>Показано везде, кроме http://prilozhenie19.blogspot.com/2016/09/1.html, http://prilozhenie19.blogspot.com/2016/09/2.html и http://prilozhenie19.blogspot.com/2016/09/3.html</h1>
        </b:if>
    </b:if>
</b:if>

Оператор (существует)

<b:if cond='data:blog.metaDescription'>
    Заполнено и не отключено кратное описание сути статьи для поисковых систем
</b:if>

Оператор ! (не существует)

<b:if cond='!data:blog.metaDescription'>
    Не заполнено или отключено кратное описание сути статьи для поисковых систем
</b:if>

Оператор and (и)

<b:if cond='data:blog.url != "http://prilozhenie19.blogspot.com/2016/09/1.html" and data:blog.url != "http://prilozhenie19.blogspot.com/2016/09/2.html"'>
    <h1>Показано везде, кроме http://prilozhenie19.blogspot.com/2016/09/1.html и http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
</b:if>
равнозначно
<b:if cond='data:blog.url != "http://prilozhenie19.blogspot.com/2016/09/1.html"'>
    <b:if cond='data:blog.url != "http://prilozhenie19.blogspot.com/2016/09/2.html"'>
        <h1>Показано везде, кроме http://prilozhenie19.blogspot.com/2016/09/1.html и http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
    </b:if>
</b:if>

Оператор or (или)

<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/1.html" or data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/2.html"'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html или http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
</b:if>
равнозначно
<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/1.html"'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html или http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
</b:if>

<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/2.html"'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html или http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
</b:if>

Оператор in {} (равно для части массива)

<b:if cond='data:blog.url in {"http://prilozhenie19.blogspot.com/2016/09/1.html", "http://prilozhenie19.blogspot.com/2016/09/2.html"}'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html или http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
</b:if>
равнозначно
<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/1.html"'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html или http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
</b:if>

<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/2.html"'>
    <h1>Показано на http://prilozhenie19.blogspot.com/2016/09/1.html или http://prilozhenie19.blogspot.com/2016/09/2.html</h1>
</b:if>

Вывод данных (data:)

<data:title/> вместо тега печатает значение переменной. У каждого b:includable существует свой перечень допустимых имён переменных и их значений. Например, data:post.title будет работать только внутри <b:includable id='post' var='post'>…</b:includable>. Google предоставляет описание некоторым переменным.

<h1><data:title/></h1>
покажет
<h1>Приложение 19</h1>
Образец

Атрибут выражения (expr:)

Если expr: добавить перед атрибутом, то в его содержимом можно указывать переменные. С помощью символа + (плюс) объединяются две и более переменных в одном атрибуте, а также взятый в кавычки произвольный текст. Особенно полезен expr: для создания динамических ссылок, когда на каждой странице нужен свой адрес ссылки, скажем, для того, чтобы внедрить кнопки соц. сетей без скрипта.

<h1 expr:title='"Заголовок страницы: " + data:title + ", а именно про " + data:post.title'><data:title/></h1>
покажет
<h1 title="Заголовок страницы: Приложение 19, а именно про expr">Приложение 19</h1>
Образец

Внутри атрибута с expr: можно использовать условия.

<h1 expr:title='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/expr.html" ? "Только для одной страницы" : ""'><data:title/></h1>
что равнозначно
<b:if cond='data:blog.url == "http://prilozhenie19.blogspot.com/2016/09/expr.html"'>
  <h1 expr:title="Только для одной страницы"><data:title/></h1>
<b:else/>
  <h1 expr:title=""><data:title/></h1>
</b:if>
в f t
наверх ↑

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