MT条件分岐でグローバルメニューのonpageでCSSで画像を切り替える設定をやってみる。
通常のサイト作成の時にやっている
グローバルメニューのonpage(今いるとこのページ)でCSSで画像を切り替える設定を
MTの条件分岐でやってみました。
実は、ずっとやりたかったこの設定、
とりあえず作ってみて徐々に整理して行きましたので、遷移を載せておきます。
これがあれば、あとで元にも戻せるし。
こちらのページをかなり参考にさせてもらいました。
★MTでカテゴリーナビの所属しているカテゴリのみ条件分岐する
補足:
・on表示にしてもリンクはさせたかったので、.onpageのクラス処理で。
非リンクにしたいときにもCSS修正すれば、この方法で対応出来そう。
・一番下のは、トップナビゲーションにサイトマップとプライバシーポリシーなどがあるんで、そのページ用。
1.CategoryLabel分岐版
ひとまずCategoryLabelで分岐してみました。
<!-- GlobalNavi -->
<!-- メインページの設定 -->
<MTIf name="main_index">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li
</MTIf>
<!-- 記事ページの設定と条件分岐 -->
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryLabel></MTSetVarBlock>
<MTIf name="category" eq="業務案内">
<li id="bussiness"><a class="onpage" href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="報酬額(料金)">
<ul class="clearfix">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a class="onpage" href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="契約から業務の流れ">
<ul class="clearfix">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a class="onpage" href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="事務所概要">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a class="onpage" href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="お問合せ">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a class="onpage" href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<!-- 上の条件にあてはまらなかった場合 -->
<MTElse>
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li
</MTElse>
</MTIfArchiveType>
以下、記事ページの条件分岐部分だけ変更していきました。
2.Basenameベース版
カテゴリー名よりBasenameをベースにした方が、表記がすっきりするかなと思い、やってみました。
idとBasenameを同一にしてる場合は、こちらの方が確実性があると思います。
<!-- 記事ページの設定と条件分岐 -->
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
<MTIf name="category" eq="bussiness">
<ul class="clearfix">
<li id="bussiness"><a class="onpage" href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="reward">
<ul class="clearfix">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a class="onpage" href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="flow">
<ul class="clearfix">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a class="onpage" href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="profile">
<ul class="clearfix">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a class="onpage" href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<MTIf name="category" eq="inquiry">
<ul class="clearfix">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a class="onpage" href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIf>
<!-- 上の条件にあてはまらなかった場合 -->
<MTElse>
<ul class="clearfix">
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></a></li>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTElse>
</MTIfArchiveType>
4.1行毎分岐バージョン
もっとまとめられるかと思い、更に1行毎に分岐してみました。
この場合、HOMEだけは分岐は必要ないので、、
MTIfArchiveType分岐内に記述をそのまま入れてしまえば大丈夫。
<!-- 記事ページの設定と条件分岐 -->
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
<MTIf name="category" eq="bussiness">
<li id="bussiness"><a class="onpage" href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></li>
<MTElse>
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></li>
</MTElse>
</MTIf>
</MTIfArchiveType>
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
<MTIf name="category" eq="reward">
<li id="reward"><a class="onpage" href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<MTElse>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
</MTElse>
</MTIf>
</MTIfArchiveType>
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
<MTIf name="category" eq="flow">
<li id="flow"><a class="onpage" href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<MTElse>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
</MTElse>
</MTIf>
</MTIfArchiveType>
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
<MTIf name="category" eq="profile">
<li id="profile"><a class="onpage" href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<MTElse>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
</MTElse>
</MTIf>
</MTIfArchiveType>
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
<MTIf name="category" eq="inquiry">
<li id="inquiry"><a class="onpage" href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<MTElse>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
</MTElse>
</MTIf>
<!-- 分岐なしHOMEボタン記述 -->
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIfArchiveType>
<!-- 記事ページの設定終了 -->
</pre>
5.最終バージョン
<pre lang="xml">
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
</pre>
は、一番最初と最後だけでOKでした。だんだんすっきりしてきたぞ!
<pre lang="xml">
<!-- 記事ページの設定と条件分岐 -->
<MTIfArchiveType archive_type="Individual">
<MTSetVarBlock name="category"><MTCategoryBasename></MTSetVarBlock>
<MTIf name="category" eq="bussiness">
<li id="bussiness"><a class="onpage" href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></li>
<MTElse>
<li id="bussiness"><a href="<$MTBlogURL$>bussiness/index.html"><span>業務案内</span></li>
</MTElse>
</MTIf>
<MTIf name="category" eq="reward">
<li id="reward"><a class="onpage" href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
<MTElse>
<li id="reward"><a href="<$MTBlogURL$>reward/index.html"><span>報酬額(料金)</span></a></li>
</MTElse>
</MTIf>
<MTIf name="category" eq="flow">
<li id="flow"><a class="onpage" href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
<MTElse>
<li id="flow"><a href="<$MTBlogURL$>flow/index.html"><span>契約から業務の流れ</span></a></li>
</MTElse>
</MTIf>
<MTIf name="category" eq="profile">
<li id="profile"><a class="onpage" href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
<MTElse>
<li id="profile"><a href="<$MTBlogURL$>profile/index.html"><span>事務所概要</span></a></li>
</MTElse>
</MTIf>
<MTIf name="category" eq="inquiry">
<li id="inquiry"><a class="onpage" href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
<MTElse>
<li id="inquiry"><a href="<$MTBlogURL$>inquiry/index.html"><span>お問合せ</span></a></li>
</MTElse>
</MTIf>
<!-- 分岐なしHOMEボタン記述 -->
<li id="home"><a href="<$MTBlogURL$>index.html"><span>HOME</span></a></li>
</MTIfArchiveType>
<!-- 記事ページの設定終了 -->
これ以上は考えられなかったので、今日はこれで打ち止めで。
あるいはJQueryとかでもっと簡単にキレイにできないかしらと思う。
また勉強します。
参考
★条件分岐で行う効率的なテンプレート管理 – テンプレートの判別|Movabletype.jp
★条件分岐で行う効率的なテンプレート管理 – テンプレートモジュール|Movabletype.jp
★テンプレートの種類と役割|Movabletype.jp
★MTCategoryBasename|テンプレートタグリファレンス


横浜在住。Web制作の仕事をしているへっぽこワーキングマザーです。6歳児に育てられています。







ディスカッション
コメント一覧
まだ、コメントがありません