パーマリンクのパスをルートからの/パスにする

mt:EntryPermalinkや、mt:AssetURLで出力されるのは、http://から始まる絶対パスだけど、
それちょっとヤダなって時に。

<!-- $WebsiteURLに、自ブログの親サイトのURLを格納 -->
<mt:BlogParentWebsite><mt:SetVarBlock name="WebsiteURL"><$mt:WebsiteURL$></mt:SetVarBlock>

<!-- replaceでEntryPermalink内から親サイトのURL部分を「/」に置換する -->
<mt:Entries>
<$mt:EntryPermalink replace="$WebsiteURL","/"$>
</mt:Entries>

「../」などいわゆる相対パスに指定したい場合は、出力されるURLにあわせてreplaceの「”/”」部分を書き換えればよいと思う。

各ブログのIDを調べる/取得する

別ブログの内容を読み込むときに、「mt:MultiBlog blog_ids=””」とかでID指定するとおもうんだけど、
本番とテストや復元つかってブログ追加したりとかで、IDがかわる場合があって、ちょっと不便。

で、ブログ名からIDを取得してblog_idなどを指定する形にしておく。
(これならテストと本番でblog_idの指定かえなくていいよね)

<!-- mt:Blogsでブログ一覧を取得、include_blogs="site"、include_with_website="1"で自分が所属するサイトのみを対象にする -->
<mt:Blogs include_blogs="site" include_with_website="1">
<mt:If tag="BlogName" eq="ブログ名A"><mt:SetVarBlock name="blogA_id"><$mt:BlogID$></mt:SetVarBlock></mt:If><!-- ブログ名AのIDを$blogA_idに格納 -->
<mt:If tag="BlogName" eq="ブログ名B"><mt:SetVarBlock name="blogB_id"><$mt:BlogID$></mt:SetVarBlock></mt:If>
<mt:If tag="BlogName" eq="ブログ名C"><mt:SetVarBlock name="blogC_id"><$mt:BlogID$></mt:SetVarBlock></mt:If>
</mt:Blogs>

あとは、

<mt:MultiBlog blog_ids="$blogA_id">
<mt:Entries></mt:Entries>
</mt:MultiBlog>

など、blog_idsに設定したMT変数指定すればよいと思う。
ちなみに、同一サイト内に、同名のブログがない事前提。

[Movable Type] 各ブログのIDを調べる/取得する

別ブログの内容を読み込むときに、「mt:MultiBlog blog_ids=””」とかでID指定するとおもうんだけど、 本番とテストや復元つかってブログ追加したりとかで、IDがかわる場合があって、ちょっと不便。 で、ブログ名からIDを取得してblog_idなどを指定する形にしておく。 (これならテストと本番でblog_idの指定かえなくていいよね) カテゴリー:hatena