【Blogger】ブログ検索・ラベル検索の結果に合わせてメッセージの表示を分岐させる方法

Bloggerでは検索をすると、自動でメッセージが表示されますが、それをアレンジして該当記事数が0だった場合と、1以上あった場合で、メッセージ分岐させてみたいと思います。

以下のコードを<data:navMessage/>に上書きすれば実現できます。

HTML
<b:if cond='data:numPosts == 0'>
    <b:if cond='data:blog.searchLabel'>
        <b expr:data-search="data:blog.searchLabel"/> の検索結果は0件です。 <!-- ラベル検索の表示結果が0件だった場合 -->
    <b:elseif cond='data:blog.searchQuery'/>
        <b expr:data-search="data:blog.searchQuery"/> の検索結果は0件です。 <!-- ブログ検索の表示結果が0件だった場合 -->
   
    </b:if>
<b:else/>
    <b:if cond='data:blog.searchLabel'>
        <b expr:data-search="data:blog.searchLabel"/> の検索結果です。 <!-- ラベル検索に該当記事があった場合 -->
    <b:elseif cond='data:blog.searchQuery'/>
        <b expr:data-search="data:blog.searchQuery"/> の検索結果です。 <!-- ブログ検索に該当記事があった場合 -->
    </b:if>
</b:if>
また、以下のフォーラムによると、<data:blog.searchLabel/>と<data:blog.searchQuery/>は安全ではないコードのため、以下のコードをCSSに書き加えた方が安全のようです。
b[data-search]::after {
    content: attr(data-search);
}

参考URL:https://stackoverflow.com/questions/21072954/blogspot-datanavmessage


簡単に説明をすると、<b:if cond='data:numPosts == 0'>が記事数が0だった場合のタグで、<b:else/>でそうでなかった場合の表示(<b:if cond='data:numPosts != 0'>)を分岐しています。

以上です。
「の検索結果は0件です。」などのメッセージはカスタマイズして使用してみてください。

Related Posts

Previous
Next Post »