MovableType5にバージョンアップしたことを機にPHP化やモジュールのPHP化を行いました。
ところが、検索などのシステムテンプレートによる表示がモジュールのインクルードが出来ない事がわかり悩んでいたところ。「ウェブサイト配下すべてのブログから行った検索をウェブサイトの検索結果テンプレートで表示する」の記事を見つけ感激です。
そうかこんな方法があるんだとと早速導入しました。
検索はすべてのブログにまたがった検索結果をウェブサイトの検索結果テンプレートで表示したい。
デフォルトのパラメータ
<input type="hidden" name="IncludeBlogs" value="<$mt:BlogID$>" />
パラメータにウェブサイト配下すべてのブログIDを渡す。上記内容を検索し置き換えで以下の内容に書き換えます。
<input type="hidden" name="IncludeBlogs" value="<$mt:WebsiteID$>
<mt:WebsiteHasBlog><mt:Blogs include_blogs="site">,
<$mt:BlogID$></mt:Blogs></mt:WebsiteHasBlog>" />
この内容を使用してウェブサイトに検索モジュール(ウィジェットでも可)を作成、既存の検索モジュールを複製し修正して「検索2」の名前にする
テンプレート「ヘッダー」の以下の検索を検索2に修正
<$mt:Include module="検索2"$>
検索2の内容は以下の内容でウエブサイトの検索モジュールをインクルードします。<mt:BlogParentWebsite>
<mt:SetVarBlock name="website_id"><mt:WebsiteID></mt:SetVarBlock>
<mt:Include module="検索" blog_id="$website_id"$>
</mt:BlogParentWebsite>注意:ウィジェットで作成した場合は
moduleの部分を widgetに変更すること




コメントする