2005年08月06日(土) コメント:3 トラックバック:0
テンプレート機能一覧がちょっと見難いし多少間違いもあるので 自分なりに再構成してみた。それで、FC2ブログ非公式カスタマイズマニュアル(仮)を作ってアフィリエイトバナーとか貼ってウハウハみたいな。
で、これはやってみると相当メンドクサイ。<!--image-->とか<%topentry_tb_no>とかいつの間にか知らない変数が増えてるし、動作確認していない変数もたくさんあるし、隠しタグ(JUGEMU互換)もあるらしいし、 公開はまだまだ先になりそう。
とりあえず状況変数(ブログの表示モードによって内容を出力するかどうかを決定するブロック変数をこう呼ぶことにする)ごとに、どのモード(area)で内容が出力されるのか表にしてみたので、 ここに置いておきます。
さて、この表を眺めていると、あることに気づきます。
page_areaを擬似的に再現できそう!
page_areaを(無理やり)判別するには<!--not_○○_area-->を多重に入れ子にするのが定説(?)でしたが、<!--not_edit_area-->というブロック変数がないため、この方法ではコメント編集画面(edit_area)で内容が表示されてしまいます(今のところ対処法はCSSで消すのが一般的)。
それで困る状況というのは、あまりないといえばそうなんですが、たとえば以下のページで言及されているように需要はあると思います。
では、page_areaだけで表示させて、しかもedit_areaでは表示させない方法はというと、<!--nextpage-->(または<!--prevpage-->)を使います。このブロック変数は本来、次(前)のページに関する情報を表示させるためのものですが、実は状況変数としても機能するのです。 つまり、<!--nextpage-->と<!--not_index_area-->と<!--not_category_area-->と<!--not_search_area-->で入れ子にして囲めば、それはpage_areaのときのみ表示されるはずです(上の表を参照)。
「いやっほーぅ!<!--nextpage-->最高ー!」と叫びたいところですが、やはり邪道。問題はあります。すなわち「次(前)のページ」が存在しない場合には内容が表示されないのです。というわけで、やっぱり<!--page_area-->がほしいという結論になるのであった。
- <!--page_area-->
- <!--not_page_area-->
- <!--not_edit_area-->
あとこれだけあれば状況変数は完璧なのになぁ、と言ってみる。
コメント(3件)
エリア変数...色々使っていますが、<!--not_edit_area--> <!--/not_edit_area--> も思いっきり使っていました。
「無いの??」って公式マニュアルを確認したところ、やっぱり載ってはいませんでした。でも試しにテンプレートの一部を
<!--not_edit_area--><meta name="robots" content="all" /><!--/not_edit_area-->
としてみたところ、コメント編集エリア(ソース)では非表示になりきちんと反映されていました。(ちなみにテスト後ソースは元に戻しました。)
今はサポートされているということでしょうか?
ちなみに私もちょこちょこ関連記事を書いています。
http://arinogotokuatumarite.blog19.fc2.com/blog-entry-39.html
もうこの記事から3年以上経ちますね。今はnot_edit_areaは正式にサポートされています……と思ったら、いまだに公式マニュアルに載っていないんですね(ちょっと調べてみましたが、サポートされたというソースが見当たらない。あれ?)
実はpage_areaも実装されているらしいですよ(未確認)。
http://kofumo.blog28.fc2.com/blog-entry-18.html
テンプレート変数に関してはこんな記事も書いています。
http://mb.blog7.fc2.com/blog-entry-142.html
よろしければどうぞ。
みりばーるさん、確認ありがとうございます。
紹介していただいた 変数一覧 は公式マニュアルと同様に、以前から何度か参考にさせていただいたことがありました。
だから、not_edit_area を普通に使っていたのだと思いますが、何かの検索でこちらの記事に辿りついた際、not_edit_area って本当は無いの? と(投稿日も確認せず)単純に思ってしまい、コメントさせていただきました。
page_area は、つい先日別のサイトで見かけ、??と思っていたところでしたが、今度自分でもテストしてみます。