タグ機能とパンくずナビゲーション導入
うちの家を設計してくれた松井郁夫建築設計事務所>さんのお客様が内覧に来ました。
参考になってもらえればいいなあと思うわけだが、
松井さんからわりと木の家を読んでいる人は多いですよ、今回の内覧のことも更新してくださいね。と言われてしまった。もう半年以上も停滞しているものなんですが、そういわれると更新しないわけにはいかない。
その< 木の家>のページなのだが、ブログのシステムは使っていないんですね。気合い入れて更新するためにもブログ化するか〜と考えていたら、脱線をしてしまいました。
こういう方向に走るから、更新が滞るんだよね〜。
当ブログに、パンくずナビゲーションとタグ機能を導入してしまいました。ついでに若干デザイン修正と、、、
タグ機能
del.icio.usのソーシャルブックマークを今更ながら使い始めたのですが、そうするとタグって便利だなあ〜とおもうわけです。
PlugInとかきっと出てるだろうと思って探してみたらありましたよ。
Ogawa::Memoranda で公開されている、Tagwire Pluginが。
エントリーのキーワードにタグを入力することで対応可能なようで、こりゃ簡単そうだと導入してみました。
- Tagwireプラグインのインストール(方法は本家にて)
- エントリーにタグを表示するようにデザインを変更。エントリーのタイトルの下に表示
MTEntryTagsを使用して、glue=”,” をつけるだけと簡単ですね。 - 全エントリーにタグ付け
この後は、タグ名クリックで表示されるページへのデザイン組込、Ogawa::Memorandaさんのこのページのようなタグの一覧ページとか、よく使われるタグとかを実装していくことと思われ、その分他の更新は遅れそうですw
MovableTypeでもカテゴリーの複数選択ができるようになったみたいだけど、タグの方が気持ちがいいですね。
●パンくずナビゲーション
サイトのはじめの方に 『 Top > ____ > ____ 』のように現在表示しているページまでの階層を表示するもので、自サイト内ではあるけれども被リンク数が増えると言うことで SEOの効果があると言われています。
上記実装した、タグについてみていったら、パンくずを導入しているブログが結構目についた。自分もやってみるべかと調べた次第です。
Movable Type 3.2のハッキング〜パンくずリストの設置〜を参考にやりました。これはカテゴリー毎にパンくず表示するという方法。
これと、Movable Type 3.2 カテゴリー名の日本語化を組み合わせて導入をしてみました。めでたく世界の中の1%の人々の中に入りました?
簡単に説明をすると
- カテゴリー名を英語に変更、日本語名はその詳細説明に入力
- アーカイブの方法を変更(上記URL参照)
- 各アーカイブ(個別・月別・カテゴリー)に対して、おのおのパンクズ表示のためのタグを挿入
と言ったところです。
他にも、MTカスタマイズ講座:ブログ別!作成・カスタマイズ講座を参考にしました。
MovableTypeのカレンダーをカスタマイズ
月ごとのアーカイブにもカレンダーを表示して、月の移動をしたいと思った。それでなければかカレンダーとしてちょっと意味がない。
「日付アーカイブ」のカスタマイズを行った。左右の2列表示にするのは、メインページを参考に、<div id=”center”> </div>でメインのコンテンツ部分を囲み、<div id=”right”>…</div>の中のカレンダー部分だけを残してコピーをする。
これで、カレンダーは右側に表示されたのだがカレンダーはどの月のアーカイブを見ても最新の2004年12月で表示されてしまった。
11月のアーカイブ表示時は2004年11月と表示したいので、もう少しいじってみる。
ヘルプによれば、指定年月のカレンダーを表示するには<MTCalendar month=”yyyymm”>….</MTCalendar$>のように、年月をパラメータで渡せばいいということだったので、REQUEST_URI から年月を読み込んでパラメーターを渡してみる。
アーカイブのURLは自分の場合、/archives/yyyy/mm/index.php として呼び出されるので、
<?php
$arys = explode(“/”, $_SERVER[“REQUEST_URI”]);
$year = $arys[count($arys) – 3];
$month = $arys[count($arys) -2];
?>
のようにはじめに、PHPで年月を取得しておき
<MTCalendar month=”<?= $year.$month ?>”>としてみたのだが、、、
年月は変わらない上に、”> が連続して出てきてしまった。
PHPで読み込んだ値自体は間違いなかったのだが、テンプレートの構築の時に年月が渡されないと意味がないのでしょうね。
いろいろ調べたところ、<MTCalendar month=”this”>とすればよかった。
これでカレンダーの中身は表示されるのだが、caption で指定している年月の表示がまだかわらない。11月のカレーンダーを表示しているのに、2004年12月とか表示している。マヌケなので修正。
<$MTDate format=”%B %Y”$> となっているところを、<$MTArchiveDate format=”%B %Y”$>に変えることでうまくいった。
あとはカレンダーに月の移動を組み込めば完了だ。
前の月への移動
<MTArchivePrevious>
<a href=”<$MTArchiveLink$>”>«</a>
</MTArchivePrevious>
次の月への移動
<MTArchiveNext>
<a href=”<$MTArchiveLink$>”>»</a>
</MTArchiveNext>
を、<caption><$MTArchiveDate format=”%B %Y”$></caption> の MTArchiveDateの前後にそれぞれ入れる。
これで、カレンダーが少しはましになた。
Read more
カスタマイズ途中経過
サイトヘッダのカスタマイズの途中です。
indexページだけしか切り替わってないので、ヘッダのモジュール分割などをやらないとだめですね。これは。
結構、面倒くさい。。。