« Windows Vista 動作チェック - Lhaca+ 編〜インストールに失敗する場合の対処が見えた! | メイン | 知らない間に microsoft.com 以外のサーバへアクセスさせている »

2006年08月07日

[ Movable Type ] 月別アーカイブのドロップダウン化

月別アーカイブのドロップダウン方法を調べて,ちょっとした細工を加えて "うふふo(^-^)o" に適用しました.

このページを参考に しました.なお,オリジナルはこれ だと思います.

さて,このオリジナルもあいかわさまも,JavaScript をページに直接書いているのでヘッダが汚くなってしまいます.これは良くない,ということでいつものごとく,JavaScript は別ファイルにして,それを読み込む形に変更しました.

要は,必要なスクリプト(この場合は下記の部分)を,ファイルに保存します.


function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}

わたしは mt.js と保存しました.もちろん,今後別の Script を作ったときは,ここに追記することができます.MT から呼び出す関数は,ここに集約しようと思うので,今回は mt.js という名前にしました.これを適当なディレクトリ(わたしは絶対パスで /js/mt.js となる位置)に ASCII モードでアップロードします.

次に,今まで追加していた JavaScript のソースのかわりに


<script type="text/javascript" src="/js/mt.js" ></script>

を追加します.本当は


<script type="text/javascript" src="/js/mt.js" />

としたいのですが,MT 3.171-ja の不具合なのか,XREA サーバ上の問題なのか,原因はわかりませんが,デザインが崩れてしまったので,仕方なく HTML 4.01 の書き方にしました.もし XHTML 1.x の記法でできた方がいらしたら,コメントいただけると幸いです.

あとは,インデックスページのテンプレートで,リスト形式表示するように指定している箇所をさがし,下記の通り変更・保存・再構築するだけです.


<form name="pulldown_monthlyarchives">
<select name="menu" onChange="MM_jumpMenu('parent',this,0)">
<option selected> 月別記事の一覧 </option>
<MTArchiveList archive_type="Monthly">
<option value="<$MTArchiveLink$>"><$MTArchiveTitle$>
</MTArchiveList>
</select>
</form>

JavaScript を HTML ファイルに直接書くのは,見栄えが良くないし,読み込むコードが増えるだけ(パケット料金がムダになる)ですから,別ファイルに保存しましょう.

はぁ.久しぶりに MT のインデックスページを変えたぞ〜.

投稿者 kanemiki : 2006年08月07日 18:20

トラックバック

このエントリーのトラックバックURL:
https://ss1.xrea.com/www.kanemiki.net/MT/mt-tb.cgi/371

コメント

よろしければコメントなどを...

サイン・インを確認しました、 . さん。コメントしてください。 (サイン・アウト)

(いままで、ここでコメントしたとがないときは、コメントを表示する前にこのウェブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


情報を登録する?


© 2004-2009 KaneMiki, All Rights Reserved.
本ブログの内容は,かねみきの個人的な見解・主張であり,わたしの所属教会や団体とは一切関係ありません.