カテゴリーごとに違うサイドバーを読み込む
先日、友達のサイトをMTで作成しました。
その時に、「カテゴリーで違う内容を書いたサイドバー呼び出したいな・・・」
と思い、適当に思いついたのをやってみたらできちゃった(゚д゚)
ので、その方法をご紹介したいと思います。
プラグインは使いません。
もしかしたら同じ事がもっと簡単にできるプラグインとかあるかも・・・?
ありそうな気がするぅ。
*最初、<$MTCategoryLabel$>を使った方法を書いていたのですが、
たねちゃんが<$MTCategoryBasename$>という
もっと便利なタグがあることを教えてくださいました。
急いでそちらの方法に書き換えました。ありがとうございます。
・カテゴリーの出力ファイル名で判断して、サイドバーを読み込みます。
・「テンプレートのモジュール化」でご紹介している方法をアレンジして使います。
なので、モジュール化を知らない人はまずこちらを読んで理解してください。
・モジュール化しますので、要phpです。
Widget Managerでも試してみましたが、できませんでした。
・エントリーアーカイブ、カテゴリーアーカイブで有効です。
・カテゴリーの数だけサイドバー用インデックステンプレートが増えます。
カテゴリーが少ない人向けかもしれません・・・。
カテゴリー多いけどこれをやりたい人は・・・頑張ってください(*`Д´)ノ
・カテゴリーの出力ファイル名で判断するので、
カテゴリー名は好きな名前にすることができます。
では、方法です。
ここでは「日記」というカテゴリーを例にしてみます。
1・php化してない人はphp化する
参照:MTをphp化する
2・カテゴリーを作成する
好きなカテゴリー名をつけます。
出力ファイル名を、「カテゴリーフォルダの名前変更法」を参考に、
英数字で名前を付けてください。
「日記」の場合は「diary」としてみたり。
「cat12」などの名前のままでも次の項目で名前を合わせればいいので、
いまさら出力ファイル名を変えられないという方はそのままでも大丈夫です。
3・モジュールを作る
そのカテゴリーに表示したいサイドバーを作ります。
テンプレート>インデックス>テンプレートを新規作成
テンプレート名は何でもいいですが、とりあえず分かりやすく「日記サイドバー」
テンプレートの内容に表示したい内容を入れます。
出力ファイル名は、diary.htmlというように、
2で決めたカテゴリーの出力ファイル名と同じ名前にします。
ここ、非常に重要です。
保存、再構築します。
4・モジュールを読み込むパスを書きます
エントリーアーカイブ、カテゴリーアーカイブで使えます。
読み込みたい場所に
<?php readfile("/絶対パス/ <$MTCategoryBasename$>.html"); ?>
または、
<?php include("/絶対パス/ <$MTCategoryBasename$>.html"); ?>
と書きます。
readfileとincludeの違いは「テンプレートのモジュール化」を見てください。
赤文字の所で、カテゴリーの出力ファイル名.htmlを読み込むようにしています。
だから、カテゴリーの出力ファイル名が重要だったのです。
保存、再構築します。
これで、そのカテゴリーの出力ファイル名と同じ名前の
サイドバーが読み込まれていると思います。
あとは、カテゴリーの数だけテンプレートを増やす事です・・・。
ポイントは、
カテゴリーの出力ファイル名と、テンプレートの出力ファイル名を合わせる事。
このカスタマイズは・・・サイドバーじゃなくても使えますね('Д')!
お好みに改造してお使いください。
普通の日記サイトだと面倒すぎて使いどころがないかもしれませんが、
サイトによってはなかなか使えるんじゃないかな・・・?ドウダロウ
要phpのカスタマイズです。
<$MTCategoryBasename$>のタグはMT3.3で追加されましたので、
3.3以降で使う事ができると思います。





お初!?かな。
どのバージョンからかは忘れましたが、今のMTだとカテゴリーと出力ファイル名に
項目が分かれていて、出力ファイル名は<$MTCategoryBasename$>で
呼び出せます。全角文字だとエンコードとかが大変なので、出力ファイル名の方を
使った方が安全でより確実だと思います。(多分3.3からだと思う)
私はこの技を使っているので良いのですが、readfileとincludeの違いの方を
知らなかったです…これで今までやりたかった事が出来なかった理由が分かり
物凄く参考になりました(笑)さっそく試してみようと思います。
コメント時刻: 2007年02月16日 17:44
≫たねちゃんさん
お初です[ポッ]かもしれません[!]
ふおお!そのタグがあるとは気づきませんでした。
調べてみたら、やはり3.3からみたいです。
そっちのタグ用に記事を書き直します。
ありがとうございます[うっとり]
コメント時刻: 2007年02月16日 19:37