【Blogger】ifを使って要素を判別するテンプレートタグまとめ
Bloggerのテンプレートでは、特定のページや要素を指定したい時にifタグを使います。
ifタグとは条件分岐を示すタグで、単語の通り「もし(~だったら)」といった感じで使われるものです。
今回は、このifタグを使った要素の判別方法をまとめていこうと思います。
ifタグについて
Bloggerのifタグは特定の要素のみを処理したい時に使います。
例えば「個別記事ページのみで、パンくずリストを表示させたい」などです。
ifタグは「開始タグ(<b:if cond='…'>)」と「閉じタグ(</b:if>)」で構成されます。
この開始タグと閉じタグの間に記述した処理が、ifタグで指定した条件でのみ行われる処理となります。
ifタグの「cond='…'」の「…」の部分には条件を記述します。
例えば「<b:if cond='data:blog.pageType == "ページタイプ"'>」といった形です。
この「==」は等しいという意味で、この部分を等しくないとしたければ「!=」となります。
条件分岐の指定方法は以下の通りです。
・AとBが等しい: A == B
・AとBが等しくない: A != B
・AよりBが大きい: A < B
・AよりBが小さい: A > B
・AよりBが以上: A >= B
・AよりBが以下: A <= B
・AかつB(AND): A and B
・AまたはB(OR): A or B
・Aが真ならB、Aが偽ならC: A ? B : C
・AにB1かB2が含まれる: A in {"B1", "B2"}
・AがBを含む: A contains "B"
・A1かA2がBに含まれる: {"A1", "A2"} contains B
・AとBが等しくない: A != B
・AよりBが大きい: A < B
・AよりBが小さい: A > B
・AよりBが以上: A >= B
・AよりBが以下: A <= B
・AかつB(AND): A and B
・AまたはB(OR): A or B
・Aが真ならB、Aが偽ならC: A ? B : C
・AにB1かB2が含まれる: A in {"B1", "B2"}
・AがBを含む: A contains "B"
・A1かA2がBに含まれる: {"A1", "A2"} contains B
blog型とview型
ifタグには「blog型」と「view型」があります。
blog型は従来の記法です。公式リファレンスではこちらが紹介されています。
view型は比較的最近使えるようになった記法です。
どちらでも同じように使えます(自分はblog型を使っています)。
ページタイプ
トップページ(Homepage)
blog型
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<!-- トップページの場合の処理 -->
</b:if>
<!-- トップページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isHomepage'>
<!-- トップページの場合の処理 -->
</b:if>
<!-- トップページの場合の処理 -->
</b:if>
個別記事ページ(Item pages)
blog型
<b:if cond='data:blog.pageType == "item"'>
<!-- 個別記事ページの場合の処理 -->
</b:if>
<!-- 個別記事ページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isPost'>
<!-- 個別記事ページの場合の処理 -->
</b:if>
<!-- 個別記事ページの場合の処理 -->
</b:if>
固定ページ(Static page)
blog型
<b:if cond='data:blog.pageType == "static_page"'>
<!-- 固定ページの場合の処理 -->
</b:if>
<!-- 固定ページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isPage'>
<!-- 固定ページの場合の処理 -->
</b:if>
<!-- 固定ページの場合の処理 -->
</b:if>
個別記事と固定ページ
blog型
<b:if cond='data:blog.url == data:post.url'>
<!-- 個別記事と固定ページの場合の処理 -->
</b:if>
<!-- 個別記事と固定ページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isSingleItem'>
<!-- 個別記事と固定ページの場合の処理 -->
</b:if>
<!-- 個別記事と固定ページの場合の処理 -->
</b:if>
インデックスページ(ホーム、アーカイブ、ラベル、検索)
blog型
<b:if cond='data:blog.pageType == "index"'>
<!-- インデックスページの場合の処理 -->
</b:if>
<!-- インデックスページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isMultipleItems'>
<!-- インデックスページの場合の処理 -->
</b:if>
<!-- インデックスページの場合の処理 -->
</b:if>
ラベルページ
blog型
<b:if cond='data:blog.searchLabel'>
<!-- ラベルページの場合の処理 -->
</b:if>
<!-- ラベルページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isLabelSearch'>
<!-- ラベルページの場合の処理 -->
</b:if>
<!-- ラベルページの場合の処理 -->
</b:if>
特定のラベルページ
blog型
<b:if cond='data:blog.searchLabel == "ラベル名"'>
<!-- ラベル名のラベルページの場合の処理 -->
</b:if>
<!-- ラベル名のラベルページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isLabelSearch == "ラベル名"'>
<!-- ラベル名のラベルページの場合の処理 -->
</b:if>
<!-- ラベル名のラベルページの場合の処理 -->
</b:if>
検索ページ
blog型
<b:if cond='data:blog.searchQuery'>
<!-- 検索ページの場合の処理 -->
</b:if>
<!-- 検索ページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isSearch'>
<!-- 検索ページの場合の処理 -->
</b:if>
<!-- 検索ページの場合の処理 -->
</b:if>
特定の検索ページ
blog型
<b:if cond='data:blog.searchQuery == "検索ワード"'>
<!-- 検索ワードの検索ページの場合の処理 -->
</b:if>
<!-- 検索ワードの検索ページの場合の処理 -->
</b:if>
アーカイブページ
blog型
<b:if cond='data:blog.pageType == "archive"'>
<!-- アーカイブページの場合の処理 -->
</b:if>
<!-- アーカイブページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isArchive'>
<!-- アーカイブページの場合の処理 -->
</b:if>
<!-- アーカイブページの場合の処理 -->
</b:if>
エラーページ(404)
blog型
<b:if cond='data:blog.pageType == "error_page"'>
<!-- 404ページの場合の処理 -->
</b:if>
<!-- 404ページの場合の処理 -->
</b:if>
view型
<b:if cond='data:view.isError'>
<!-- 404ページの場合の処理 -->
</b:if>
<!-- 404ページの場合の処理 -->
</b:if>
その他
特定のページ
<b:if cond='data:blog.url.canonical.https == "URL"'>
<!-- URLのページの場合の処理 -->
</b:if>
<!-- URLのページの場合の処理 -->
</b:if>
画像あり投稿
<b:if cond='data:post.featuredImage'>
<!-- 画像あり投稿の場合の処理 -->
</b:if>
<!-- 画像あり投稿の場合の処理 -->
</b:if>
YouTube動画あり投稿
<b:if cond='data:post.featuredImage.isYoutube'>
<!-- youtubeあり投稿の場合の処理 -->
</b:if>
<!-- youtubeあり投稿の場合の処理 -->
</b:if>
画像付きページ
<b:if cond='data:blog.postImageUrl'>
<!-- 画像付きページの場合の処理 -->
</b:if>
<!-- 画像付きページの場合の処理 -->
</b:if>
サムネイル
<b:if cond='data:post.thumbnailUrl'>
<!-- サムネイルがある場合の処理 -->
</b:if>
<!-- サムネイルがある場合の処理 -->
</b:if>
記事の最初の画像
<b:if cond='data:post.firstImageUrl'>
<!-- 記事の最初の画像がある場合の処理 -->
</b:if>
<!-- 記事の最初の画像がある場合の処理 -->
</b:if>
モバイルバージョン
<b:if cond="data:blog.isMobile">
<!-- モバイルページの場合の処理 -->
</b:if>
<!-- モバイルページの場合の処理 -->
</b:if>
レイアウト
<b:if cond='data:blog.isLayoutMode'>
<!-- 管理画面のレイアウトの処理 -->
</b:if>
<!-- 管理画面のレイアウトの処理 -->
</b:if>
プレビューモード
<b:if cond='data:view.isPreview'>
<!-- プレビューモードの処理 -->
</b:if>
<!-- プレビューモードの処理 -->
</b:if>
スポンサーリンク
スポンサーリンク
コメント
0 件のコメント :
コメントを投稿