Movable Type のウェブサイトに関するテンプレートタグ
Movable Type 5.0 で新しく「ウェブサイト」という概念が導入されました。そのことでウェブサイトに関連するテンプレートタグがいくつか追加されました。
ここではウェブサイト関連のテンプレートタグをいくつか紹介しておきます。基本的にはブログ系テンプレートタグ(MTBlogXX)と大きく変わらないので、ファンクションタグの説明は省略します。
MTWebsites
ウェブサイトの一覧を取得するブロックタグです。このテンプレートタグを使えば、ウェブサイトから他のウェブサイト、あるいはブログが属さない他のウェブサイトの情報にアクセスすることも可能です。
<mt:Websites>
<mt:WebsiteURL />
</mt:Websites>
site_ids モディファイアを指定することで、特定のウェブサイトを指定することもできます。
<mt:Websites site_ids="1,12,19">
MTBlogParentWebsite
ブログが属するウェブサイトのコンテキストに移動するブロックタグです。このタグを利用すれば、MTWebsites タグを使わずに、自分の所属するウェブサイトの情報を取得することができます。ベータ2で追加されました。
<mt:BlogParentWebsite>
<mt:WebsiteURL />
</mt:BlogParentWebsite>
MTWebsiteHasBlog
ウェブサイトがブログを有することを判定するブロックタグです。ウェブサイトコンテキストで使用します。なお、下の例ではウェブサイトに属するブログを指定していません(MTBlogs タグにそういった指定が可能なモディファイアはないようです)。
<mt:WebsiteHasBlog>
<mt:Blogs>
<mt:BlogURL />
</mt:Blogs>
</mt:WebsiteHasBlog>
MTIfWebsite
現在のコンテキストがウェブサイトコンテキストであることを判定するブロックタグです。MTElse を併用すればブログコンテキストも判定できるようです。
<mt:IfWebsite>
<h1>Search results for <$mt:WebsiteLabel$>:</h1>
<mt:Else>
<h1>Search results from all blogs:</h1>
</mt:IfWebsite>
注意事項
ウェブサイト関連のテンプレートタグの利用で気がついた点を記しておきます(ベータ2時点の情報)。
- ウェブサイトIDは、ブログIDの派生であるため、値は「ウェブサイト+ブログ」で一意
- ウェブサイトで、ブログのコンテキストに移動せずにブログ関連のテンプレートタグを使用すると、自ウェブサイトの情報を表示
- ブログでウェブサイト関連のテンプレートタグを使用する場合、ウェブサイトのコンテキストになっている必要あり(違反した場合は再構築エラー)
- ブログからウェブサイトのテンプレートをインクルードする際、インクルード先でウェブサイトのテンプレートタグが使われている場合は、ウェブサイトのコンテキストにする必要あり(下)
<mt:BlogParentWebsite>
<mt:include module="foo" blog_id="1" />
</mt:BlogParentWebsite>
- Movable Type 5.0 情報(MT4のサイトURLとアーカイブURLに異なるドメインを設定している場合のアップグレード)
小粋空間様
お世話になります。
過去に何度かご質問させていただきましたソラと申します。
この度も質問がありましてコメントさせていただきました。
MT5にて、ウェブページにて公開後のウェブページを再度修正したりする際に、公開後に下書き保存することはできないのでしょうか?
ウェブページ作成時にて公開する前には下書き保存可能なのですが、
公開後は更新ボタンしかなく、下書き保存すると公開を都市消してしまうことになります。
ですのでその場で修正し、構築するしかできないのですが、こちらをその場更新せずに、前もって修正箇所だけ修正して下書き保存しておき、後日更新を押して構築する。
ということはできないのでしょうか?
お忙しいと思いますが、お手すきの際にご回答いただけますと助かります。
何卒宜しくお願い致します。
>ソラさん
こんばんは。
ご質問の件につきまして、当サイトで配布してる「Workflowプラグイン」を改造して提供することを以前から検討しています。
プラグインができましたらブログで改めて紹介したいと思います。
なお、こちらは有償でのご提供を考えておりますのでその点は予めご了承ください。
それではよろしくお願い致します。