fc2ブログ

記事が存在しない場合にメッセージを表示する

記事情報

投稿日時
2007-11-26T19:41:01+09:00
カテゴリー
FC2BLOG
タグ

記事本文

FC2ブログで使えるちょっとした小技を思いたのでメモ。もしかしたら同様のテクニックが既出かもしれません。

タイトルの通りなんですが、具体的にはエントリー数が0のカテゴリーに移動したときとか、記事を1つも書いていない月に移動したときとか、ブログ内検索で1件もヒットしなかったときとか、あるいは削除された記事にアクセスしたときとか、とにかく記事が存在しないって時に何かメッセージを表示する、というもの。JavaScriptは使用しません。

まずテンプレートのHTMLの欄に以下のソースを追加。エントリー本体の直後(<!--/topentry-->の直後)くらいが良さげかと思うけど、テンプレートによって全然違ってくるはず。

<div class="none block<!--topentry--><%topentry_no><!--/topentry-->">
        <!--permanent_area-->該当する記事はありません。<!--/permanent_area-->
        <!--category_area-->該当する記事はありません。<!--/category_area-->
        <!--date_area-->該当する記事はありません。<!--/date_area-->
        <!--search_area--><strong><%sub_title></strong> を含む記事は見つかりませんでした。<!--/search_area-->
</div>

そしてCSSの欄に以下のコードを追加。

.none{
        display: none;
}
.block{
        display: block;
}

ポイントは<!--topentry--><%topentry_no><!--/topentry-->の部分。"none"と"block"という2つのclassが指定されてますが、記事が1つでも存在すればblockの後ろに適当な数字が並んでclass名が変わり、後者の指定が無効になるというわけです。

メッセージをお好みで変えてみたり(上の例では検索結果以外同じにしてある)、CSSで表示位置等の微調整をしたりするとよりいい感じになるかと。ただ、記事が存在するページでも、表示されないというだけでソース上は存在してるので、その辺は注意が必要です。特にCSS無効の環境に配慮すると、あまりおすすめはできません。あと、新規記事作成時のプレビューでも表示されてしまうのがちょっと気になる。どうにかならんかな……

このブログのテンプレートでも早速やってみたので、ページ右上の検索バーに絶対ヒットしなさそうなキーワードを入れて検索してみると、実際どんな感じなのかわかるかと思います。

追記: 今はこのテンプレートには実装していないので、スクリーンショットを置いときます。

スポンサーサイト



コメント

paruparu #GCA3nAmE

この機能、以前FC2ブログ内で見つけ(scriptかな...と)ずっと探していました。
私の場合、検索エンジンから 削除したユーザータグのタグ検索結果ページへ入ってくる方が結構いたので、それが少し気になっていました。

<!--tag_area-->と<!--search_area-->で使わせてもらいます。
ありがとうございました。

コメントフォーム (C)
管理者にだけ表示を許可する

(P)

トラックバック

トラックバックURL
http://kofumo.blog28.fc2.com/tb.php/2-b236fefa

奥付