mt-galleryでタグ「MT」が付けられているもの

MTのテンプレートセット作成プラグインを見つけました。
これはとても便利そうです。

作成したテンプレートの保管、配布、サイトの引っ越し時などに
重宝するかも知れませんね。

TemplateSetExporterプラグイン




全部同じデザインもいいですが
できればそれぞれのページにあったデザインにしたいものです。

(1)ブログ記事ページ別に変える
(2)カテゴリーリスト別に変える

今回はLINKページを違うデザインに変えてみます。

BEFORE
BEFORE.jpg

AFTER
AFTER.jpg

(1)ブログ記事ページ別に変える

まず最初にアーカイブテンプレートのブログ記事を流用した
「link用ブログ記事」というテンプレートモジュールを作り、
一番先頭に
<MTSetvar name="page_layout" value="layout-one-column">
というタグを追加します。
これはリンクページをワンカラムにするために必要なタグです。
また、ワンカラムにする場合は、
<MTSetVar name="sidebar" value="1">
をはずしておきましょう。
「ヘーダー」テンプレート内にある、
<body class="<MTIf name="body_class"><$MTGetVar name="body_class"$>
</MTIf><$MTGetVar name="page_layout" default="layout-wtt"$>"
<MTIf name="body_onload"> onload="<$MTGetVar name="body_onload"$>"
</MTIf>
というタグで<body class="layout-one-column">に
変換出力してくれます。
CSSファイルにも
.layout-one-column #alpha {
    width: 790px;
}
と書き加えます。
次にアーカイブテンプレートのブログ記事の先頭に
先ほど作った「link用ブログ記事」というテンプレートモジュールをIncludeします。
<MTEntryIfCategory name="link">
<$MTInclude module="link用ブログ記事"$>
<MTElse>
既存のブログ記事の内容
これでlinkページの記事には新しいテンプレートモジュールを
そうでないものには既存のブログ記事テンプレートが割り振られます。

 (2)カテゴリーリスト別に変える

アーカイブテンプレートの
ブログ記事リストを次のように変更します。
<MTIfArchiveType archive_type="Category"> 
<MTIfCategory name="link"> 
<$MTInclude module="linkのブログ記事リスト"$>
</MTIfCategory>
</MTIfArchiveType>
<MTIfArchiveType archive_type="Category"> 
<MTIfCategory name="about"> 
<$MTInclude module="その他のブログ記事リスト"$>
</MTIfCategory>
</MTIfArchiveType>
このように
<MTIfArchiveType archive_type="Category">
<MTIfCategory name="カテゴリー名"> 
<$MTInclude module="ブログ記事リスト"$>
</MTIfCategory>
</MTIfArchiveType>
それぞれのカテゴリー別につくったブログ記事リストをインクルードします。

「linkのブログ記事リスト」もワンカラムにしたいので
<MTSetvar name="page_layout" value="layout-one-column">
を付与します。 CSSファイルとリストに内包する「ブログ記事の概要」も
それぞれデザインごとに作り直して完成です。
以前、このLABで自分がどのページにいるのか認識できる
タブメニュー等のボタンの作成方法を紹介しました。
その中でカテゴリーページをつかった方法も紹介しました。
 あれは、あれでいいのですが
現状では最上階層のカテゴリーのページのみ反応して、
下部の個々のブログ記事ではまったく反応しません。
つまりデフォルトの表示になってしまいます。
リンク先から中のブログ記事に直接飛んできた人には
自分がどのカテゴリーの記事を見ているのか まったくわかりません。w

categoryLED.jpg

そこで、今回は個々のブログ記事でもちゃんと反応する
ボタンの作成方法を考えました。
今回は、既存ボタンの下にcssでボックスをつくって
ナビゲーションLED仕様風に見せようと思います。
まず、アーカイブテンプレートのブログ記事リストに
<MTIf name="category_archive">
<mt:setvarblock name="cat_dscr"><$MTCategoryLabel$></mt:setvarblock>
<mt:setvar name="$cat_dscr" value="1"></MTIf>
を追加。 MTifとMTelseで振り分けるテンプレートモジュールも新たに作成します。
<div id="colorbox">
<div id="colorboxin"> 途中省略
<mt:if name="main_index"><div class="colorbox1"></div>
<mt:else><div class="colorbox2"></div></mt:else></mt:if>
<mt:if name="lab"><div class="colorbox1"></div>
<mt:else><div class="colorbox2"></div></mt:else></mt:if>
途中省略
</div>
</div>
これにcssで装飾します。
#colorbox{
margin:0px 0px 18px 0px;
text-align:center;
}

#colorboxin{
display:block;
width:774px;
margin:0px auto;
text-align:center;
}

.colorbox1{
display:block;
width:129px;
border-top:2px solid #00cccc;
float:left;
}

.colorbox2{
display:block;
width:129px;
border-top:2px solid #333;
float:left;
}

今回はborder-top:2pxでブルーのLED風に見せたので
画像は使用してません。
 ここまでが前回同様です。
しかし、このままでは個別のブログページではLEDは光ってくれません。
まず、アーカイブテンプレートのブログ記事を開きます。
下にあるアーカイブマッピングのパスを変更しましょう。

catemap1.jpg
デフォルトの状態から カテゴリーアーカイブを介したパスへ変更します。
catemap2.jpg

こうする事で個々のブログ記事がカテゴリーフォルダーの
下階層から呼び出されるようになります。
フォルダーにもアーカイブ名と同じ名前がついているので

ブログ記事のテンプレート内に
<mt:setvarblock name="cat_dscr"><$MTFolderLabel$></mt:setvarblock>
<mt:setvar name="$cat_dscr" value="1">

と追加します。 これで個々のブログ記事でLEDが光るようになったはず。


MTのPHP化で検索していたら面白そうな記事があったので、phpspot開発日誌 今度一度ためしてみよう。