Apr 2007      < >

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          

monthly archives

2008
2007
2006
2005

- June 2005 (older diary)

« April 28, 2007 | main | April 30, 2007 »

"April 29, 2007" archive

April 29, 2007

日付アーカイブページでの月別リストの表示様式

とつ前のエントリと関連してます. 最初がちょっと繰り返しで冗長ですが...

左サイドバーにある、月別アーカイブページへのリンクリスト. 年をリスト表示して、ここに折りたたみを仕込み、開くと一階層下に各年の月別リストが出るようになっています.

メインページでは、今年のリストだけは折りたたみが作動しないようにしてあり、この方法については以前行っていました. これと整合性をとるために、日付アーカイブページのリスト部分も同じ動作にすることを考えていました.

日付アーカイブページの場合、折りたたませないのは今年のリストではなく、そのアーカイブの当該年のリストということになります. つまり、2005 年 11 月のアーカイブなら、2005 年、2006 年 2 月 15 日のアーカイブなら、2006 年といった感じです.
これが、ずーっとできませんでした. 今日、突然のひらめきで解決したので、その過程を自分メモでまとめておきます.

メインページでの処理は、リストを挙げていく過程で、年が今年のリストの場合だけ、menufolder.js(折りたたみに使っているスクリプト 小粋空間さま提供)を作動させないようにするという方法でやりました. 条件分岐には、Compare プラグインを使用しました.

日付アーカイブページも、全くのアナロジーでできるとふんでいたのですが、これが甘かったんです.

Compare プラグインで何を比較すればいいか
片方はリストアップされていくアーカイブの日付(の年部分)ですから、<$MTArchiveDate format="%Y$> ということになります. もう一方は、当該アーカイブの日付ですから、<$MTArchiveDate format="%Y$>
ん? なんだこりゃ. 比較するものが同じ?? とういことで考えることしばし. そのまま頓挫したのが以前の状態でした.


リスト表示についていろいろ考えながら、今日、再チャレンジしました.

月リストの部分は、<MTArchiveList archive_type="Monthly"> 〜 </MTArchiveList> の中で処理されてます.
このコンテクストで <$MTArchiveDate$> を書くと、それはリストそのものになってしまうわけで、当該アーカイブの日付を取ることはできません. 間違ってないよね.

もし、<MTArchiveList> の外(前)で <$MTArchiveDate$> の内容を取ることができれば、それは当該アーカイブの日付になるでしょう
その値を <MTArchiveList> の中に持ち込んで、リストアップされていく <$MTArchiveDate$> と比較できれば、なんとかなりそうだと考えました.

そんなことができるのか. 何か変数を設定してそこに値を代入し、その変数を参照するしかありません. プラグインが要りそうな予感.

とりあえず、「MovableType 代入」でググりました. トップのリンクは six apart にあるプラグインの紹介. やはりね.
行ってみると、某参考書等でお世話になっている藤本壱さんのプラグインじゃないですか. 早速たどり、記事を読んでみます.

数分後、プラグインなしでもできることが分かりました

使うのは、<MTSetVarBlock><MTGetVar>. まだまだ知らんことばかりですなぁ.

リスト表示部の( の)前で、

<MTSetVarBlock name="thisyear"><$MTArchiveDate format="%Y"$></MTSetVarBlock>


として、変数 'thisyear' に当該アーカイブの日付(年)を取得します.

で.リスト表示部の中で、

<MTIfEqual a="[MTGetVar name='thisyear']" b="[MTArchiveDate format='%Y']">


のようにして、'thisyear' の値とリスト表示される年の値とを比較. 条件分岐で、menufolder.js が作動しないようにする仕組みは、メインページで以前やったのと全く同じです.

結果、うまくいきました. やっぱり、MovableType はすごいです.

シューター歴レーティングマーク

# 4/29 2 エントリ目.

んなの全然知りませんでした. 2005 年からあったのね. Blog エントリはこちら

早速、管理人プロフィールのページに貼ってみましたよ. → 

誰が見ても CERO マークのパロですが、なかなかに良くできております. どうせなら SERM じゃなくって、SERO ってことにしていろいろ活動するとか. 無責任に言ってますけど.
mixi にもコミュがあったので入ってみました.

作られた萌尽狼さま、ありがたく使わせていただきます. 
# 萌尽狼を最初、萌尽娘だと思っていたのはないしょ.

さて、自分のレーティングは "25". ある意味終わってますな. 10 年後に STG してる自信は絶対ありますが、だから何だと言われると困りますねw

上記ページによるとインベーダー喫茶世代ということですけど、もちろん初代のインベーダーからハマっておりました. 当時もゆるい年齢規制はあったと思うけど、かまわず行ってたなぁ. ちなみに補導歴ありですw
ワイン持ちでコンパネとこすれる左手中指の皮が剥け、絆創膏 + 包帯で痛みこらえてやってたのは、今となっては懐かしか.

ABOUT

Archive "April 29, 2007"

No. of entries: 2