Aug 2006      <  >

SunMonTueWedThuFriSat
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

CATEGORIES

monthly archives

2008
2007
2006
2005

- June 2005 (older diary)

« "月別アーカイブリスト折りたたみ出来" | main | "XBOX360" »

月別アーカイブリスト最新年だけ折りたたみなし

日の MT 作業報告
まず、新規エントリ投稿の際に、まんま実画面どおりのプレビューができるようにしました.
今まで? 公開してブラウザから見て確認してましたよw アクセス解析も置いたので、さすがにちょっとまずいなぁと思いましてね.

使わせていただいたのは、こちら
先に以前のバージョンを見つけてしまってインストールしたら、うまく動かず. 3.3 対応のは、もちろん問題ありませんでした.


さて、タイトルにもした本題.
8/18 にも書いたように、折りたたまれた月別アーカイブリストのうち、最新年(つまり今年)の分だけは折りたたみなしで表示しておきたい. この blog は、まだ去年と今年しかありませんから、あんまり意味がないですが...

Compare というプラグインでどうかと考えました. 入手先はこちら
どっかで見たサイトデザインだと思ったら、BigPAPI もここでしたか.

いろいろな比較ができるようですが、

<MTIfEqual a="〜" b="〜"> 処理 </MTIfEqual>

とやれば、a と b の内容が同じ場合にのみ、タグではさんだ部分の処理をしてくれます. <MTElse> を使えば、同じ場合、同じでない場合で処理の振り分けをすることも可能.

比較するのは、現在の年アーカイブリストの年です. 前者は <$MTDate format="%Y"$> で、後者は <$MTArchiveDate format="%Y"$> で取れます. これは簡単.

<MTIfEqual> の中では、MT タグは < > と $ を取って、[] で囲む書式. よって比較部は、

<MTIfEqual a="[MTDate format='%Y']" b="[MTArchiveDate format='%Y']">

と書けばよさそうです.

で、処理をどうするか.
menufolder.js による折りたたみでは、折りたたみのタイトルに相当する部分に 〜name、リストに相当する部分に 〜list という ID を割り当てることになっています. アーカイブリストの実際の部分では、

<MTArchiveDateHeader>
<div id="archive<$MTArchiveDate format="%Y"$>name">
<$MTArchiveDate format="%Y"&>
</div>

のように記載しています. アーカイブ日付の年部分を ID 指定に使っているわけですね.

この ID 指定がなければ、折りたたみは作動しないはず. ならば、<MTIfEqual> による上記の判定が yes なら ID を指定をせず、no なら ID 指定すればいいのではないだろうか.

結果として考えたコードがこれ.

<MTArchiveDateHeader>
<MTIfEqual a="[MTDate format='%Y']" b="[MTArchiveDate format='%Y']">
<div>
<MTElse>
<div id="archive<$MTArchiveDate format="%Y"$>name">
</MTElse>
</MTIfEqual>
<$MTArchiveDate format="%Y"&>
</div>


メインページは、今思ったとおりに表示されていると思うんですが、上のコードでばっちりでした.
いや、これはまじで面白かった.


では次回のお題.

「日付アーカイブページでも、今表示されているアーカイブに関連した年のリストは、折りたたまないで表示させる」
これ、やらなくてもいいかと書いたんですが、やっぱりやってみますw

TrackBack URL of this entry:
http://neuro-nex.net/mt/mt-tb-n3.cgi/129

Post your comment!


ABOUT

Entry "月別アーカイブリスト最新年だけ折りたたみなし"

Post: August 19, 2006

Category: Web page making


Prev. entry:
"月別アーカイブリスト折りたたみ出来"

Next entry:
"XBOX360"