test
2009年7月アーカイブ
サイト全体で統一のサイドナビにカスタマイズしてみようと思います。
参考
- 小粋空間: アーカイブページのリストの表示内容が異なる理由
- 小粋空間: サイドバーの表示をメインページと同じにする
- idxctx プラグインというのを作ってみました。 - blog.aklaswad.com
うちの場合のサイドバーテンプレートは各ウィジェットをウィジェットセットで
<$mt:WidgetSet name="2カラムのサイドバー"$>
みたいな感じで読み込んでいます。「2カラムのサイドバー」ウィジェットセットには「最近のブログ記事」「 検索,」「最近のコメント」「カテゴリアーカイブ」「月別アーカイブ」「OpenID対応」「Powered By」をインストールしています。
簡単なのは、参考の3つ目のプラグインを使うことです。
プラグインをインストールしウィジェットセットを読み込んでる部分を
<MTIndexContext>
<MTWidgetManager name="2カラムのサイドバー">
</MTIndexContext>
のように「MTIndexContext」コンテナ・タグで括ればアーカイブページでもメインページと同じ表示内容になってくれます。
ですが、今回最終的な目標は、サイト全体統一のサイドメニューにし、メインページ以外で現在位置表示。今このページにいますよ~的な表現をサイドメニューに施そうと思ってます。
参考
上記ページを参考に、各アーカイブのウィジェットをカスタムするわけですが
方法としては、アーカイブテンプレートに設定された予約変数を判定して分岐させ、
JavaScriptで「a」タグにclass属性を付与していきます。
この際、(参考3つ目)idxctxプラグインを使用してると、サイドバー部分は一時的にメインページと同じ振る舞いをしてるのでアーカイブテンプレートの予約変数を判定してくれません。
ということで、idxctxの利用は今回さけて、サイドバーの各ウィジェットを弄ってこう。
月別アーカイブ、カテゴリアーカイブに関しては、それぞれ1番外側を括ってる「MTIf」タグを外していく
カテゴリアーカイブ:
<MTIf name="module_category_archives">
~
</MTIf>別アーカイブ:
<MTIf name="module_monthly_archives">~
</MTIf>
↑これを削除すれば、それぞれのアーカイブページでもメインページと同じ表示内容になります。
問題は、最近のブログ記事
続きを読む: サイト統一サイドメニュー

