親サイト(ウェブサイト)のウェブページのリストを子サイト(ブログ)で表示させる - Movable TypeとMovableType.netの違い

  • 投稿者:
  • カテゴリ:
このエントリーをはてなブックマークに追加

Movable TypeとMovableType.netでのマルチブログ機能の違い

Movable Typeでウェブサイトを構築! Part 1をMovableType.netでもできるようにしようと、テンプレートを移植したのですが、ソフトウェア版のMovableTypeとMovableType.netでは使えるMTタグに違いがあるため、コピー&ペーストしただけではうまく行かない部分があり、その修正で戸惑ったのでメモとして残してます。

ソフトウェア版Movable Type(以下MT)でも、MovableType.netでも、親サイト(ウェブサイト)にあるウェブページへのリンクを子サイト(ブログ)で表示させる場面があると思います。

例えばコーポレートサイトなどでウェブサイトに会社概要などのウェブページがあって、グローバルナビゲーションでウェブサイトのウェブページへのリンクを表示する場合、ブログでも同様に表示する場合があると思います。

そのような時はマルチブログ機能を使うと思いますが、MTとMovableType.netでテンプレートの書き方を変える必要があります。

配下のブログでもグローバルナビゲーションはウェブページと同じものを表示させるという場合、ソフトウェア版のMTの場合、ウェブサイトとブログに共通で使うテンプレートとして下記のようなものが考えられます。


//ウェブサイトのウェブページ名を表示する場合
<mt:Pages include_blogs="親サイト(ウェブサイト)のブログID">
  <mt:PageTitle>
</mt:Pages>

マルチブログ機能が利用できるテンプレートタグ

一方、MovableType.netで上記のテンプレートをそのまま使おうとするとエラーになってしまいます。

MovableType.netでは下記のように修正する必要があります。


//ウェブサイトのウェブページ名を表示する場合
<mt:Pages include_blogs="ウェブサイトのブログID" include_with_website="1">
  <mt:PageTitle>
</mt:Pages>

マルチブログ機能が利用できるテンプレートタグ

上記の「ウェブサイトのブログID」はソフトウェア版の「WebsiteID=BlogID」に相当するものですが、MovableType.netの場合は「WebsiteID」と「BlogID」がそれぞれ別々になります。「WebsiteID」ではエラーになってしまいます。「BlogID」を使用しなければなりません。そして「include_with_website="1"」を併記する必要があります。

また、MovableType.netではウェブサイトとブログに固有の「識別子」を付けられますが、この識別子をBlogIDの代わりに使用してもウェブサイトまたはブログを指定できます。

識別子を使う時もウェブサイトを指定する場合は「include_with_website="1"」を併記する必要があります。

P.S.「include_blogs」にはall、children、siblingsと言ったものが使えます。この辺については、今までなんとなく使ってる感があるので、もうちょっとしっかり理解しないとと言った感じです。

このエントリーをはてなブックマークに追加