こんな変数があるといいなという妄想

※h2要素直後のdl要素内の変数は実際には存在しません。

ナビゲーションに関する変数

<!--page-->〜<!--/page-->
カテゴリモード、検索結果モード、pageモード(仮)、indexモードのとき、「過去ページ」の数だけ内容を繰り返し表示。
<%page_url>
page-1.html, category0-1.html, ?q=XXX&page=1, ……形式のURLを表示。
<%page_no>
page-1.html, category0-1.html, ?q=XXX&page=1,……の番号部分を表示。

使用例

HTML
<ul class="page_nav">
<!--prevpage-->
<li><a href="<%prevpage_url>">前へ</a></li>
<!--/prevpage-->

<!--page-->
<li><a href="<%page_url>"><%page_no></a></li>
<!--/page-->

<!--nextpage-->
<li><a href="<%nextpage_url>">次へ</a></li>
<!--/nextpage-->
</ul>
CSS
.page_nav li {
 display:inline;
 margin:0 0.5em 0 0;
}

現在の仕様では、過去のページへ移動するには<!--prevpage-->や<!--nextpage-->を使って1ページずつリンクを辿らなければなりませんが、 <!--page-->変数があれば数ページ分過去のページへ直接移動できます。

Googleの検索結果のように画像を使うこともできそうです。

<!--page-->
<li><a href="<%page_url>"><img src="http://blogX.fc2.com/x/xxx/file/<%page_no>.gif" alt="<%page_no>"></a></li>
<!--/page-->

問題点

「現在のページ」へのリンクもそのまま出力されるのが都合悪い。現在のページのときは数字のみ表示し、それ以外のページへはリンク付数字を出す<%page_link>のような変数(カレンダーの変数のような感じ)や、 現在のページのときの判定をするブロック変数もほしくなってしまいます。

カテゴリに関する変数

<%topentry_category_no>
<!--topentry-->〜<!--/topentry-->内で使用。そのエントリーのカテゴリ番号を表示。
<%category_no>
<!--category-->〜<!--/category-->内で使用。カテゴリ番号を表示。

<%cno>(カテゴリ一覧時にカテゴリNoを表示)という使えそうで使い道のあまりない変数の可能性を広げる新変数。

使用例

HTML
<ul class="cat<%cno>">
<!--category-->
<li class=cat"<%category_no>"><a href="<%category_link>"><%category_name>(<%category_count>)</a></li>
<!--/category-->
</ul>
CSS
li.cat0 {
 list-style-image:url(http://blogX.fc2.com/x/xxx/file/cat0.gif);
}

カテゴリごとにアイコンを変える技法は一部で既に行われていますが、それにはカテゴリ名を半角英数字(<%category_name>をクラス名に利用)にしたり、CSSのdisplay:noneを無理やり利用した強引な手法を使うしかありませんでした。 カテゴリ番号を取得する変数があればもっと簡単に同様のことをやれます。

ul.cat0 li.cat0{
 display:none;
}

カテゴリ0のページを表示中にカテゴリ0へのリンクを消します(現在のページへのリンクの排除)。

コメントリストの充実

<%topentry_comment_list_XXX>
XXX=year, month, day, hour, minute, second, youbi, wayoubi, no

コメントリストには、name, title, body, brbodyという必要最低限のものが用意されていますが、通常のコメントと同じだけの変数が用意されればあんなテンプレも……。

URL付きコメント投稿者の名前

<%comment_url+name>
URL付きコメント投稿者の名前を表示。

<%comment_mail+name>(メールアドレス付き名前を表示)のURL版。コメントの投稿時にURLを入力すると「投稿者の名前をアンカーテキストとし、入力したURLをhref属性値にもつa要素」を表示し、 URL未入力の場合には単に名前が表示されるというもの。

現在用意されている変数だと不都合がある

現在用意されている変数で「同様」のことをするなら以下の3つがありますが、

<%comment_name>
コメント投稿者の名前を表示。
<%comment_url>
コメント投稿者のURLを表示。
<%comment_url+str>
URLリンク付き文字を表示。
<a href="<%comment_url>"><%comment_name></a>

のように<%comment_name>と<%comment_url>を使った方法では、URL未入力の場合にhref属性が空のリンクが生成されてしまうという問題があります(一応、JavaScriptで対処は可能)。

<%comment_url+str>を使う場合は「URL」という文字列にリンクがつきますが、

<a href="<投稿者のURL>">URL</a>
  • URL未入力の場合に意味のないURLという文字列が表示されてしまう。
  • コメント投稿者のWebサイトをURLという文字列で参照するのは好ましくない。

という問題が生じます。


みりばーる@てんぽ