Q. ブログを新たに追加することは可能ですか?
このご質問は、1つのウェブサイトと2つのブログから構成されているMT5・MTOS5用のテーマ・テンプレートである、Theme008、Theme009、Theme010をご購入のお客さまからよくいただいているご質問の1つです。ここでは、これらのテーマを利用した場合においてのヒントとして、よく回答させていただいている内容を掲載させていただきます。
また、MT5・MTOS5用テーマ・テンプレートのその他の、1つのウェブサイトと1つのブログから構成されているテーマ(Theme011~Theme016)につきましても、基本的なテンプレートの構成概念は同じですので、ここに解説させていただいている内容をご参考にブログ数を増やしていただけます。
このカスタマイズを行うことにより、基本的にいくつでもウェブサイト配下のブログ数を増やす事が可能です。以下のヒントで殆どのお客さまの場合、ご自分でブログ数を増やしていただけております。是非ご参考にしてください。
Answer. はい。可能です。Theme008、Theme009、Theme010 において、3つ目のブログを追加・共有したい場合は、まず3つ目のブログを作成する際に、メインのブログ、もしくは、ニュースのブログのテーマを適用して作成します。(ここでは、仮に、メインのブログのテーマを適用します。)作成後は、(デザイン>テンプレート>)モジュールの箇所でWebsiteIDとNewsBlogIDもしくはMainBlogIDを入力して再構築します。
(ここでは、仮のテーマがメインのブログなので、NewsBlogIDを入力します。)
(※IDを入力する前に再構築をするとエラーが発生します。)
これで、とりあえず3つ目のブログは、メインのブログ、もしくは、ニュースのブログのテーマが適用された形で作成されます。(ここでは、メインのブログのテーマが適用された形で作成され、ニュースのブログが共有されています。)
次は、現行サイトのグローバルナビに、3つ目のブログへのリンクを表示、3つ目のブログのグローバルナビには、現行サイトのまだ共有されていないブログへのリンクを表示します。ここでのポイントは、MTBlogsなどのMultiBlogタグを用いて、現行のウェブサイトや各ブログに3つ目のブログの情報を呼び込むことです。(そのまた逆、つまり、3つ目のブログに、まだ共有されていないメインのブログの情報を呼び込む場合も、同様の対応をします。)
この時、ウェブサイトや各ブログで、ウェブサイトや各ブログの情報を呼び込むのに、それぞれのウェブサイトやブログのIDが必要になります。(現行テンプレートのモジュール箇所で各IDを入力するのはこの為です。)
例えば、ウェブサイト上に3つ目のブログ情報を呼び込む時は、ウェブサイトの方でまず3つ目のブログIDをモジュールで作成する必要があります。そして、このIDを利用して、ウェブサイトのグローバルナビ上に3つ目のブログの情報を呼び込み、表示します。
現行のテンプレートは、上記の方法で、ウェブサイト、メインのブログ、ニュースのブログの情報を互いに呼び込み合い、共有しています。上記ポイントに留意しながら、現行の該当テンプレート箇所を確認していきますと、どのようにして共有されているのかが見えてくると思います。
カスタマイズするテンプレートの箇所は、
(ウェブサイト、各ブログにおいて)
・テンプレートモジュール「ヘッダー」の該当箇所
・テンプレートモジュール「WebsiteID」などのIDのモジュール箇所
です。
現行のテンプレートでは、ウェブサイト、各ブログにおいて、以下のIDモジュールが用意されています。
■ウェブサイトのテンプレートモジュール
・MainBlogID
・NewsBlogID
■メインのブログのテンプレートモジュール
・WebsiteID
・NewsBlogID
■ニュースのブログのテンプレートモジュール
・WebsiteID
・MainBlogID
これに3つ目のブログが追加された場合は以下のような感じになります。
(名称は仮の名です。)
(新しい3つ目のブログのIDモジュールは新規作成する必要があります。)
■ウェブサイトのテンプレートモジュール
・MainBlogID
・NewsBlogID
・ThirdBlogID
■メインのブログのテンプレートモジュール
・WebsiteID
・NewsBlogID
・ThirdBlogID
■ニュースのブログのテンプレートモジュール
・WebsiteID
・MainBlogID
・ThirdBlogID
■3つ目のブログのテンプレートモジュール
・WebsiteID
・MainBlogID
・NewsBlogID
そしてこのIDを用いて、必要な情報をウェブサイト、各ブログ上に呼び込みます。現行のウェブサイト、各ブログのテンプレートモジュール「ヘッダー」の#1~2,3行目には以下のような記述があります。
■ウェブサイトのテンプレートモジュール「ヘッダー」
<MTSetVarBlock name="main_blog_id"><MTInclude module="MainBlogID"></MTSetVarBlock> <MTSetVarBlock name="news_blog_id"><MTInclude module="NewsBlogID"></MTSetVarBlock>
■メインのブログのテンプレートモジュール「ヘッダー」
<MTSetVarBlock name="website_id"><MTInclude module="WebsiteID"></MTSetVarBlock> <MTSetVarBlock name="main_blog_id"><$MTBlogID$></MTSetVarBlock> <MTSetVarBlock name="news_blog_id"><MTInclude module="NewsBlogID"></MTSetVarBlock>
■ニュースのブログのテンプレートモジュール「ヘッダー」
<MTSetVarBlock name="website_id"><MTInclude module="WebsiteID"></MTSetVarBlock> <MTSetVarBlock name="main_blog_id"><MTInclude module="MainBlogID"></MTSetVarBlock> <MTSetVarBlock name="news_blog_id"><$MTBlogID$></MTSetVarBlock>
そして、同モジュール内のグローバルナビの箇所には以下の記述があります。
■ウェブサイトのテンプレートモジュール「ヘッダー」
<li><a href="<MTBlogs include_blogs="$main_blog_id"><$MTBlogURL$></MTBlogs>" title="<MTBlogs include_blogs="$main_blog_id"><$MTBlogName encode_html="1"$></MTBlogs>"><MTBlogs include_blogs="$main_blog_id"><$MTBlogName encode_html="1"$></MTBlogs></a></li> <li><a href="<MTBlogs include_blogs="$news_blog_id"><$MTBlogURL$></MTBlogs>" title="<MTBlogs include_blogs="$news_blog_id"><$MTBlogName encode_html="1"$></MTBlogs>"><MTBlogs include_blogs="$news_blog_id"><$MTBlogName encode_html="1"$></MTBlogs></a></li>
■メインのブログのテンプレートモジュール「ヘッダー」
<li<MTIf name="main_template"> class="on"</MTIf>><a href="<$MTBlogURL$>" title="<$MTBlogName encode_html="1"$>"><$MTBlogName encode_html="1"$></a></li> <li><a href="<MTBlogs include_blogs="$news_blog_id"><$MTBlogURL$></MTBlogs>" title="<MTBlogs include_blogs="$news_blog_id"><$MTBlogName encode_html="1"$></MTBlogs>"><MTBlogs include_blogs="$news_blog_id"><$MTBlogName encode_html="1"$></MTBlogs></a></li>
■ニュースのブログのテンプレートモジュール「ヘッダー」
<li><a href="<MTBlogs include_blogs="$main_blog_id"><$MTBlogURL$></MTBlogs>" title="<MTBlogs include_blogs="$main_blog_id"><$MTBlogName encode_html="1"$></MTBlogs>"><MTBlogs include_blogs="$main_blog_id"><$MTBlogName encode_html="1"$></MTBlogs></a></li> <li<MTIf name="news_template"> class="on"</MTIf>><a href="<$MTBlogURL$>" title="<$MTBlogName encode_html="1"$>"><$MTBlogName encode_html="1"$></a></li>
これらの箇所に、新しい3つ目のブログIDを用いて3つ目のブログの情報を呼び込みます。3つ目のブログの方には、グローバルナビ上に表示したいメインのブログ、もしくは、ニュースのブログの情報を呼び込むようにします。
(仮に作成した3つ目のブログの場合、既にニュースのブログは共有澄みなので、メインのブログを共有するようにします。)
また、ブログがグローバルナビ上で選択された状態になるには、現行テンプレートでは、以下のコードがキーとなっています。
■メインのブログのテンプレートモジュール「ヘッダー」
<MTIf name="main_template"> class="on"</MTIf>
■ニュースのブログのテンプレートモジュール「ヘッダー」
<MTIf name="news_template"> class="on"</MTIf>
なので、3つ目のブログがグローバルナビ上で選択された状態になるには、3つ目のブログテンプレートにて、下記のような状態になることが望まれます。
(記述名は仮の名称です。)
■3つ目のブログのテンプレートモジュール「ヘッダー」
<MTIf name="third_template"> class="on"</MTIf>
3つ目のブログを作成する時に適用したテーマがメインのブログのテーマの場合、この箇所は、
<MTIf name="main_template"> class="on"</MTIf>
になっていると思います。これを
<MTIf name="third_template"> class="on"</MTIf>
に変更します。
上記のコードが問題なく動作するためには、メインのブログのテーマが適用された3つ目のブログのテンプレート内全体にて、main_templateと記述されている箇所全てが、third_templateに変更される必要があります。
(こことは具体的には関係ないのですが、template_mainとなっている箇所があれば、それもtemplate_thirdなどに変更します。)
上記は、グローバルナビゲーションにのみ、新規作成した3つ目のブログへのリンクを表示するための方法です。検索やタグクラウド、ウェブサイトのトップページ、ウェブサイトや各ブログのサイドナビには、新規作成された3つ目のブログの内容は反映されません。これを行う場合は、上記に説明した内容と同等のことを、適宜、該当箇所のテンプレートに施す必要があります。