MT5でウェブサイト配下のブログにウェブサイトのIDなどを簡単に引き継ぐ方法

小林 2009年10月28日

パワフルなCMSを98,000円で。

Movable Typeで承認フロー、会員サイト構築ができます。

MT5.0では、ウェブサイトとブログの結びつきという新しい概念になりましたが、ウェブサイトのタイトルやID、テンプレートをブログに引き継ぐことができません。厳密に言うと可能なのですが、ちょっとタグが複雑になります。

たとえば<$MTWebsiteName$>とブログに書いても、ウェブサイト名は出力できません。ブログでウェブサイト名を出力するには<MTBlogParentWebsite><$MTWebsiteName$></MTBlogParentWebsite>という長いタグを書かなければなりません。これではテンプレートの視認性が悪くなってしまいますね…

そこで、ウェブサイトの情報をブログに簡単に引き継げるようにするために、こんなアイデアはいかがでしょうか?ウェブサイトとブログの連携性を保てば、メンテナンス性が向上するんじゃないかと思います。

※MT5.0ではこのやり方が楽だとおもいますが、もっと簡単なやり方があれば教えてください!

ウェブサイトにテンプレートを作る

ウェブサイトに「共通設定」などの名前でテンプレートモジュールを作成します。

モジュール内で変数に値をセットする

テンプレートモジュールの中に、以下の宣言を書きます。お好みでいろいろ追加したい場合は、MTSetVarsタグの使い方をご覧ください。

<MTSetVars>
  website_id=<$MTWebsiteID$>
  website_url=<$MTWebsiteURL$>
  website_title=<$MTWebsiteName encode_html="1"$>
  website_description=<$MTWebsiteDescription encode_html="1" strip_linefeeds="1"$>
  common_filepath =<$MTWebsiteURL$>common/
</MTSetVars>

ブログのテンプレートから共通設定テンプレートを呼び出す

先日公開したParentalIncludeプラグインでウェブサイトの共通設定テンプレートを呼び出します。呼び出すときにcache="1"を指定すると、このテンプレートはキャッシュされるので、たくさんのテンプレートからインクルードしたとしてもキャッシュのおかげで再構築が遅くなることはありません。

そして共通設定テンプレートをインクルードした後はMTGetVarで各値を呼び出します。いかに例を示します。

共通設定テンプレートをインクルードする
<$MTParentarInclude module="共通設定" cache="1" ttl="60"$>

タイトルタグにブログ名とウェブサイト名を出す
<title><$MTBlogName$> | <$MTGetVar name="website_title"$></title>

ウェブサイトと同じ概要を使う
<meta name="description" content="<$MTGetVar name="website_description"$>" />

ウェブサイトと同じスタイルシートを読み込ませる
<link rel="stylesheet" href="<$MTGetVar name="common_filepath"$>styles.css" type="text/css" media="screen" />

ウェブサイトのID
<$MTGetVar name="website_id"$>

ウェブサイトのURLへリンクする
<a href="<$MTGetVar name="website_url"$>"><$MTGetVar name="website_title"$></a>

みたいな使い方です。

たとえばウェブサイトのカスタムフィールドで「キーワード」とか作って、全サイトのmeta keywordsを共通化したり、共通化したい値があるのであれば用途はいろいろ使えるのではないでしょうか?

ちょっとやり方として強引感は否めませんが、いまのところこれがベストなやりかたかなぁと思っています。

投稿者 小林 : 10/28

Movable Typeを利用したウェブサイト開発はお任せください!

100の企業が認めた成功へ導くCMS構築

スカイアークは創業以来6年間、Movable Typeを一貫して活用し、お客様の様々なウェブサイトをCMS化しました。MTを利用したウェブサイトはスカイアークにお任せください。

MT・CMS構築について詳しく見る

お問い合わせはこちらから お電話でのお問い合わせ03-5475-5101

MTエンジニアブログ

MTCMS Smartキャンペーン!
承認フロー付きCMS「MTCMS Smart(98,000円)」をお買い上げの方、MTライセンス1本がタダに!

配布プラグイン一覧

MultiFileUploader
複数ファイルを一括でアップロードできるMovable Typeプラグイン
ParentalInclude
MT5でウェブサイトとブログのテンプレート連携を便利にするプラグイン
DuplicateEntry
ブログ記事を複製または移動するMovableTypeプラグイン
NotifyAnythingChanged
何かが起きたらメールで通知するMovableTypeプラグイン
rssEntry
取込んだRSSをエントリとして書き出すMovableTypeプラグイン
AutoTagging
面倒な記事のタグ付けを自動化する
FutureRebuild
日時を指定してページを再構築する
EntryImExporter
エントリをCSVに書出したり、CSVから一括登録するMovableTypeプラグイン
MailPack
Movable Typeで簡単携帯投稿!メール投稿プラグイン
DirectoryUtility
カテゴリ・フォルダの階層を表示したり、親フォルダを表示したり、何かと便利なプラグイン
CSVList
CSVデータを整形して表示する
PageBute
静的ページ用ページ分割プラグイン

注目記事

RSS

ページの先頭へ戻る