Entries
ブロック変数
FC2ブログのテンプレを作成していて毎回悩む事があります。
本家サイトで利用しているMovable Typeというプログラムでは各状況ずつにテンプレを設定出来るのですが、動的生成であるFC2ブログではひとつのテンプレ内にブロック変数を設けて各状況を切り分けしていますが、インデックス表示とPL(各エントリの所在する恒久的なURI)表示を切り分けるブロック変数が見あたらないような気がします。
悩む代表的な事と言えばナビゲーションリンクでしょうか。インデックス表示では前ページや次ページへのナビゲーションを、エントリ単位では前のエントリに対してのリンクや次のエントリに対してのリンクを張りたいと思うと、インデックス表示なのかエントリ単位の表示なのかを区分する事が出来ず、使い分けが出来ない状態です。中にはコメントブロック内やトラックバック内に入れ、使い分けている方もいますが、コメントやトラックバックの受付をオフにすると表示されない気もします。
<p class="prev-next-navi">
<!--prevpage--><a href="<%prevpage_url>" title="前頁へ移動する"><!--/prevpage-->«<!--prevpage--></a><!--/prevpage-->
<span> | </span><a href="<%url>" title="トップへ戻る">HOME</a><span> | </span>
<!--nextpage--><a href="<%nextpage_url>" title="次頁へ移動する"><!--/nextpage-->»<!--nextpage--></a><!--/nextpage-->
</p>
<p class="prev-next-navi">
<!--preventry--><a href="<%preventry_url>" title="<%preventry_title>"><!--/preventry-->«<!--preventry--></a><!--/preventry-->
<span> | </span><a href="<%url>" title="トップへ戻る">HOME</a><span> | </span>
<!--nextentry--><a href="<%nextentry_url>" title="<%nextentry_url>"><!--/nextentry-->»<!--nextentry--></a><!--/nextentry-->
</p>
これは一例ですが、コメントやトラックバックの受付に左右されずに区分するブロック変数が実装されれば、色々と表現範囲が広がると思うのですが、実装は難しいですかねぇ。
私が知らないだけで実装済みとかだったらスミマセン。
5件のコメント
[C72] ナビブロックの性質
sugさん等も指摘されている事ですが、厳密に言うとこれらの独自blockはそれ自体にモード判別子を含んでいると言えます。
例:
<!--nextpage--> ⇒ if(page_mode && next_page)
<!--nextentry--> ⇒ if(entry_mode && next_entry)
故にこれらを同一場所に重ね置きし、同一のIDを各ブロック内で使用したとしても、生成されるソース上でバッティングすることはありません。
- 2005-02-15
- 編集
[C73] こんにちは
今、考えているのはこれらの独自タグを排他的に使用したいのですが、可能でしょうか?
インデックス画面ではページ間の移動を、各エントリ画面ではエントリ間の移動をサポートしたいと思ってます。
comment_areaやtrackback_areaの使用に左右されないとグッドなんですけどね。
- 2005-02-16
- 編集
[C74] ナビ
xxxentryタグは?noのnoがある時のみ作動します。
ですから初期のですとcommentの方に入れていた気がします。
- 2005-02-16
- 編集
[C75] 私の
新旧表記双方でモードに適合するnext(prev)リンクを表示してくれています。
≫CFさん Jで昔書いた記事です。 各ナビの排他性を利用したもので、現在のナビも基本的に同じものです。
http://daniel.jugem.cc/?eid=113
ただ、モード別ブロックやモード表示単変数、page表示単変数(now、all) があると、
ナビシステム構築上便利な事は確かでしょう。
(自blogでも書きましたが archiveモードのprev/nextブロックは欲しい所です)
- 2005-02-16
- 編集
[C76] 情報ありがとうございます
内部情報ありがとうございます。
私も初めてテンプレ作成した際にはdefaultを参考にしましたが、確かにコメント部分に包含されていた記憶があります。
それにしてもFC2ブログの進化は凄いですね。他社の有料版を遙かに凌ぐ自由度の高さです。
テンプレ制作者側から見ても様々な事が実現出来るので、作成していても楽しいです。
> danielさん
同じくどちらにも属さない状態で剥き出し表示をしようと思ったのですが、やはり排他的に表示したいです。
スクリプトを使用してURIから判断させるという手も考えましたが、あまり複雑になると使用する方も困るだろうという事で断念しました。
インデックスとエントリ表示を判断するブロックが用意されると、色々と遊べそうで実装を期待しちゃいます。
- 2005-02-17
- 編集
コメントの投稿
0件のトラックバック
- トラックバックURL
- http://cfdn.blog1.fc2.com/tb.php/49-bde03d6c
- この記事に対してトラックバックを送信する(FC2ブログユーザー)

sugさん等も指摘されている事ですが、厳密に言うとこれらの独自blockはそれ自体にモード判別子を含んでいると言えます。
例:
<!--nextpage--> ⇒ if(page_mode && next_page)
<!--nextentry--> ⇒ if(entry_mode && next_entry)
故にこれらを同一場所に重ね置きし、同一のIDを各ブロック内で使用したとしても、生成されるソース上でバッティングすることはありません。