MovableType 5.01でサイトを構築しています。

ウェブサイトの配下にブログを作ってそれを各コンテンツにしたいのですが、
共通要素となるグローバルナビゲーションをモジュール化してウェブサイト側においてあり、それをブログ側でも呼び出して利用したいのですが、うまくいきません。下記のサイトを参考にいろいろやってみたのですが、エラーが出てダメでした。
http://www.skyarc.co.jp/engineerblog/entry/parentalinclude.html
サイトで配布されているプラグインもうまく機能せずどうしたら良いかわかりません。
ウェブサイト側のテンプレートモジュールをブログ側で利用する方法で確実にうまくいく方法を教えていただけないでしょうか?
また、こちらはMT構築初心者なので、できるだけ手順を丁寧に説明していただけると助かります。
よろしくお願い致します。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/04/30 23:10:55
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:kaz No.2

回答回数200ベストアンサー獲得回数42

ポイント70pt

まず、基本的な部分ですが、

使用するコードは質問文の参考ページの2番目(<mtblogparentwebsite> 〜)のものですが、

そこにミスは無いでしょうか。


次に、「ブログ」または「システム」の「グローバルテンプレート」に

同じ名前の「テンプレート」がありませんか?

(「」は、一般的な名称ではなく Movabletype の用語です)

「システム」は、画面上部の帯いちばん左の「▼」をクリックすると出て来るメニューの

上から2番目にあります。


「ブログ」や「システム」の「グローバルテンプレート」に、

指定したいものと同じ名前の「テンプレート」がある場合、

参考ページのコードを書いても「ブログ」の「テンプレート」や、

「グローバルテンプレート」が優先されてしまいます。


テンプレート編集ページの右側にある「インクルードテンプレート」に、

指定したテンプレートの名前があると思いますが、

そこにリンクが張られている場合、「ブログ」か「グローバルテンプレート」に

同じ名前のテンプレートがあるという事です。


通常は、上に書いたように、名前にリンクが張られているのが正しいのですが、

今回の場合、リンクが作成されず、名前の後ろに (新規作成) と表示されるのが正しい状態です。

※リンクが張られないのは、その「ブログ」に含まれる「テンプレートモジュール」と、

 「グローバルテンプレート」までは、MT が追いかけてリンクを張ってくれますが、

 親である「サイト」までは追いかけてくれない為です


もちろん、そのブログが含まれる親「サイト」には、

その名前の「テンプレートモジュール」が存在しなくてはいけません。

id:MarkBowie

>使用するコードは質問文の参考ページの2番目(<mtblogparentwebsite> 〜)のものですが、

>そこにミスは無いでしょうか。

参考サイトのコードを信用してそのままコピペで使ったのですが、何か足りなかったらしく、シックスアパートのリファレンスからコードをコピペして

やってみたらうまくいきました!

ありがとうございました。

また、テンプレートについては同じ名前が無いようにしています。

とりあえず、なんとかなりました。

また質問するかもしれませんので、その時はどうぞよろしくお願いします!

2010/04/30 22:57:22

その他の回答1件)

id:rafting No.1

回答回数2652ベストアンサー獲得回数176

プロに発注したほうがいいでしょう。

https://hp.submit.ne.jp/

id:MarkBowie

ご回答ありがとうございます。

MTの勉強も兼ねているので質問させていただいています。せっかく回答いただきましたが、「これこれする場合、プロに頼んだ方がいいですか?」という質問ではないので、上記の回答は的を得ていないような気がしますがいかがでしょうか。

2010/04/30 23:00:38
id:kaz No.2

回答回数200ベストアンサー獲得回数42ここでベストアンサー

ポイント70pt

まず、基本的な部分ですが、

使用するコードは質問文の参考ページの2番目(<mtblogparentwebsite> 〜)のものですが、

そこにミスは無いでしょうか。


次に、「ブログ」または「システム」の「グローバルテンプレート」に

同じ名前の「テンプレート」がありませんか?

(「」は、一般的な名称ではなく Movabletype の用語です)

「システム」は、画面上部の帯いちばん左の「▼」をクリックすると出て来るメニューの

上から2番目にあります。


「ブログ」や「システム」の「グローバルテンプレート」に、

指定したいものと同じ名前の「テンプレート」がある場合、

参考ページのコードを書いても「ブログ」の「テンプレート」や、

「グローバルテンプレート」が優先されてしまいます。


テンプレート編集ページの右側にある「インクルードテンプレート」に、

指定したテンプレートの名前があると思いますが、

そこにリンクが張られている場合、「ブログ」か「グローバルテンプレート」に

同じ名前のテンプレートがあるという事です。


通常は、上に書いたように、名前にリンクが張られているのが正しいのですが、

今回の場合、リンクが作成されず、名前の後ろに (新規作成) と表示されるのが正しい状態です。

※リンクが張られないのは、その「ブログ」に含まれる「テンプレートモジュール」と、

 「グローバルテンプレート」までは、MT が追いかけてリンクを張ってくれますが、

 親である「サイト」までは追いかけてくれない為です


もちろん、そのブログが含まれる親「サイト」には、

その名前の「テンプレートモジュール」が存在しなくてはいけません。

id:MarkBowie

>使用するコードは質問文の参考ページの2番目(<mtblogparentwebsite> 〜)のものですが、

>そこにミスは無いでしょうか。

参考サイトのコードを信用してそのままコピペで使ったのですが、何か足りなかったらしく、シックスアパートのリファレンスからコードをコピペして

やってみたらうまくいきました!

ありがとうございました。

また、テンプレートについては同じ名前が無いようにしています。

とりあえず、なんとかなりました。

また質問するかもしれませんので、その時はどうぞよろしくお願いします!

2010/04/30 22:57:22
  • id:rouge_2008
    グローバルナビゲーションはどのように記述してあるのでしょうか?
    おそらく、テンプレート(グローバルナビゲーション)の記述が間違っているのではないかと思います。
    MTタグを使用しないで、シンプルなHTMLで試してみてください。
  • id:MarkBowie
    コメントありがとうございます。
    たしかにグローバルナビゲーションの記述で、
    <a href="<$mt:WebsiteURL$>/hoge/index.html</a>
    と書くとうまくいきませんでした。

    これは
    <a href="<mt:BlogParentWebsite><$mt:WebsiteURL$></mt:BlogParentWebsite>hoge/"></a>
    と書くとうまくいきました。

    ただ、今回の問題はこちらのモジュール側の問題ではなく、ブログ側のテンプレート”親サイトモジュールの呼び出し方法”の問題でした。

    解決しましたので、ありがとうございます。
  • id:rouge_2008
    解決して良かったですね。
    呼び出す記述の方の問題でしたか。

    ちなみに直接ブログIDを指定して呼び出す事も可能です。

    <mt:Include module="テンプレート名" blog_id="1">

    インストール後、最初に作成したサイトのIDは「1」になります。
    ※「0」を指定した場合、システムのグローバルテンプレートの管理に登録されているテンプレートを呼び出す事が出来ます。
    その他のサイトやブログのIDは、アドレス欄の「blog_id=?」の部分を確認すると良いです。

    ちょっと気になったのですが、参考サイトの最初に紹介されている方法でしたら、同名のテンプレートがあっても大丈夫です。
    同ページで配布されているプラグインのタグで呼び出す場合は、探す順番が決まっているので、テンプレート名に気をつける必要があります。

    ※追記
    <a href="<mt:BlogParentWebsite><$mt:WebsiteURL$></mt:BlogParentWebsite>hoge/"></a>

    上記は、親サイト内カテゴリへのリンクでしょうか?
    MT標準のテンプレートでは、以下の書き方をしています。

    <mt:BlogParentWebsite>
    <a href="<$mt:WebsiteURL$>hoge/">XXX</a>
    <mt:BlogParentWebsite>

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません