MT:ルートパスで出力するための記述
2013.07.30
MTで書き出したファイルを別のドメインにアップするような場合、
http://から始まる<$mt:BlogURL$>や<$mt:EntryPermalink$>をそのまま使うことはできません。

そういうときに役立った記述をメモしておきます。


■サイトURLをルートパスで出力
<$mt:BlogRelativeURL$>

→ /blogurl/


■記事リストのURLをルートパスで出力
<$mt:BlogRelativeURL$><$mt:CategoryBasename$>/

→ /blogurl/category/

※階層数によって、<mt:ParentCategory>などを使って全ての階層を出力します


■記事のURLをルートパスで出力
<$mt:BlogRelativeURL$><$mt:EntryDate format="%Y/%m/"$><$mt:EntryBasename separator="-"$><$mt:BlogFileExtension$>

→ /blogurl/2013/07/basename.html


以上。
他にもあれば追記してきます。
| コメント(0)
MT:指定したHTMLタグ以外を取り除く
2013.03.26
MTのグローバルモディファイアで、"sanitize"というものがあります。
ブログ設定の「HTMLを許可」に当たるもので、1(有効)と0(無効)で
指定できるのですが、特定のタグ以外を取り除く使い方もできます。

<$mt:EntryBody sanitize="b,br"$>

上記のようにすると、bタグとbrタグを残し、
それ以外のHTMLタグは全て消去して出力されます。

あまり使っていませんでしたが、
事故防止に使えるかも?
| コメント(0)
MT5:記事のメインカテゴリーを扱う
2013.03.12
これまで、

・記事が所属しているカテゴリー
・記事が所属しているメインカテゴリー以外のカテゴリー

この2つはMTタグで取得できましたが、
何故か「記事が所属しているメインカテゴリー」を取得するタグは
ありませんでした。
(メインカテゴリーの名前とパスだけなら取得できました)

かなり不便に感じていたのですが、
実はMT5.1からはそのタグが追加されていたようです。


<mt:EntryPrimaryCategory> </mt:EntryPrimaryCategory>

または

<mt:EntryCategories type="primary"> </mt:EntryCategories>


上記のいずれかで、その記事が所属するカテゴリーの中で
メインカテゴリーのみを扱うことができます。


この調子でどんどん便利になってほしい。
| コメント(0)
MT:カスタムフィールド(複数行)での改行やpタグの制御
2013.02.12
テキスト(複数行)のカスタムフィールドを出力するときの、
改行やpタグの制御についてです。

まず、テキストフィールドには下記のように入っているとします。

あいうえお
かきくけこ
さしすせそ

これを改行を活かして出力するには、
下記のようにします。
※本文の「改行を変換」と同様になります

<$mt:customField convert_breaks="1"$>

出力
--------------------
<p>あいうえお<br />
かきくけこ<br />
さしすせそ</p>
--------------------

逆にpタグやbrタグが入らないようにするには、
convert_breaks="0" とします。

<$mt:customField convert_breaks="0"$>

出力
--------------------
あいうえお
かきくけこ
さしすせそ
--------------------

単純に改行が<br>になってくれればいい!という場合は下記のようにします。

<$mt:customField remove_html="1" convert_breaks="0" nl2br="xhtml"$>

出力
--------------------
あいうえお<br />
かきくけこ<br />
さしすせそ
--------------------

参考にしたサイトはこちら。
カスタムフィールドの段落と改行の制御について | タグ:カスタムフィールド | MovableType | いろいろコードスニペット
| コメント(0)
MT:特定のカテゴリーのカテゴリ月別アーカイブを出力する
2013.02.06
●カテゴリーA
 ・サブカテゴリーA
 ・サブカテゴリーB
 ・サブカテゴリーC
●カテゴリーB
●カテゴリーC

上記のような構造で、例えばサブカテゴリーAのアーカイブページに、
親であるカテゴリーAの「カテゴリ月別アーカイブリスト」を出力しようとしても、
サブカテゴリーAのものが出力されてしまいました。

ソースは下記のような感じです。

<mt:TopLevelParent>
<ul>
<mt:ArchiveList archive_type="Category-Monthly">
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveDate$></a></li>
</mt:ArchiveList>
</ul>
</mt:TopLevelParent>


散々悩みましたが、最終的には次のようにすることで解決できました。

<mt:BlogID setvar="blog_id">
<mt:Blogs include_blogs="$blog_id" ignore_archive_context="1">
<mt:IfCategory name="カテゴリー名">
<ul>
<mt:ArchiveList archive_type="Category-Monthly">
<li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveDate$></a></li>
</mt:ArchiveList>
</ul>
</mt:IfCategory>
</mt:Blogs>


ブログIDからの指定にして「ignore_archive_context="1"」と入れることで、
アーカイブページでも全ての記事を参照できるようになるそうです。
| コメント(0)

月別アーカイブ