« Matthew Wilder | Main | numa numa »

カテゴリー・アーカイブ毎にデザイン変更

あ~~、やっとホッとしました。一時はどうなることかと思った。事の始まりは前々回記事にしたA to Z Listでした。作ったは良かったのですが、ああいう物作ると人間というのは欲張ってさらにその次と考えてしまう訳です。例えば自分の場合、せっかく作ったのだから音楽関連のアーカイブにはA to Z載せられないかな・・・とか。で、色々試行錯誤してみた訳です。まず結論から言うと可能です。ただ、そこに辿り着くには結構紆余曲折ありました。備忘録として書いておきますね。

まず最初自分が考えたのは複数のカテゴリー・アーカイブ・テンプレートを作ること・・・。でもこれは直ぐにボツ。何故なら複数のテンプレートを作ったとしてもそこに繋げられるタグが無い。<MT~>タグで自動にリンクを作るのだからカテゴリーごとのテンプレート指示は今のところ出来ないですよね。…? で、その後見つけたのが、catxmtregexというプラグインです。これは便利!<MTIfCategory>や<MTIfNotCategory>というタグを使えばカテゴリー毎にテンプレートをどうにでも変えられます。でもそこでも問題が・・・。前回紹介したFilterCategories プラグインなのですが、アーカイブ・テンプレート内で使うと再構築でエラー連発なのです。デザイン変えられたとしても、カテゴリーリストとかもっとカスタマイズしたいですよ。ところが、ほんとエラー連発です。頭の中が真っ白になりました。プラグインの説明にはそんな事書かれてないよな・・・。htmlは書き出されているようなのですが、異常に時間がかかり最終的にはエラーになります。タイムアウトかな?いずれにせよ新規アーティストをカテゴリー登録するごとにこの有様では、やはりボツです。

と、いうことは最終手段です。たぶんもうこれっきゃない。<MTInclude>でモジュール化です。FilterCategoriesが必要な部分はモジュール化してそれをアーカイブ・テンプレートに挿入してやるのです。と言ってもモジュール・テンプレート使ったら同じ事だから、ファイルとしての挿入です。具体的にはインデックス・テンプレートに新しくもう一つAtoZのhtmlを作ってやり(htmlの頭の部分やbodyとかいりません。本当に必要な部分だけでOK)、それを例えば<$MTInclude file="AtoZList.html"$>として書き込む訳です。htmlタグで言えば<iframe>のようなものです。だから<MTFilterCategories>を使おうが中味に関係なく再構築には余計な負荷を与えずに済む。

と、言う事で今の自分のカテゴリーアーカイブ、こんな感じになってます。(サイドバーの部分が違います。)(まだ見た目のデザイン、ちゃんとしてないです。)
my works
CDs

catxとmtregexというプラグインに関してはこちらの記事が参考になりました。
http://hanakonet.jp/archives/2005/07/post_106.php
で、実はスタイルシートを使うなんて手もあります。
http://hinagata.biz/log/2004/10/06/1548.html

自分の場合、スタイルシートあまり得意でないので単純にプラグインでいきました。で、さらには上記プラグインをスタイルシートの指示に使うなんて事も可能かもしれません。(まだ試してません) とにかく「ホッと一息」という感じです。

トラックバック

このエントリーのトラックバックURL:
http://blog.a-priori.org/cgi/mt/mt-tb.cgi/138

この一覧は、次のエントリーを参照しています: カテゴリー・アーカイブ毎にデザイン変更:

» カテゴリーごとにデザインを変える1 from *hanakonet*- ぷっくり暮らす
まず、ページをそれぞれに表現したい時は複数ウェブログを作って、一つに見せる方法と... [詳しくはこちら]

コメント

一件落着おめでとうございます。
http://hanakonet.jp/さんなんですが、 本当に優れたデザインですよね。自分もあんな作品がチャチャっと作れたらなぁとおもいます。

いや、最近こういう実生活と関係ない事で悩める…という事自体にひしひしと有り難味を感じています。今度はPHP化しなきゃだな。多分そっちの発想があれば、いちいち悩まなくても済んだかも?それから確かにhanakonetさんのデザインすっきりしています。分かり易いですものね。

コメントを投稿

Categories

Powered by
Movable Type 3.35