hiroeleganceのエレガンスとは呼べない日常

WEB屋hiroelegance(ヒロエレガンス)のブログhiroeleganceのエレガンスとは呼べない日常略して「エレ日」です。YouTubeで毎週火曜0時にラジオを配信しています。

SSIを使わずJSにて別ブログの新着記事を表示

      2015/12/08

SSIを利用できないサーバーに
Movable TypeまたはMTOSをインストールし、
AブログとBブログを構築。

Bブログの更新情報をAブログに表示する場合

<mt:MultiBlog include_blogs="1">

<mt:Include module="ブログ更新情報" />

</mt:MultiBlog>

上記のようなMultiBlogを利用していましたが、
再構築をしないと最新の情報に更新されないので、
JSにて更新する方法を試して成功しました<
これから色々な場面で利用できそうなのでメモメモ


更新情報を表示させたいブログの
テンプレート>新しいテンプレートを作成

タイトルは適当に「新着情報JS」
本文のところに以下をコピペ↓
最新の記事3件のエントリタイトルとリンクをリストで表示させています。

document.write('<ol><MTEntries lastn="3"><li>(<$mt:EntryDate format="%y/%b/%d"$>)<a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li></MTEntries></ol>');

【IE、Safariなどで表示がされなかったので修正しました。】
3/25閉じ方が間違っていました。

【正しい】
document.write('<hoge>');
【誤り】
document.write(<hoge>);

テンプレートの設定にてentry.jsなど名前をつけ
テンプレート種別をJavaScriptniにします
呼び出す側のブログのテンプレートに

<script type="text/javascript" src="ぱす/entry.js"></script>

と入れてあげればBブログの新着3件の記事タイトルとリンクがAブログに表示されます。

【参考にさせていただいたサイト】
フッターなど共通部分を外部JS化する //Javascript
jpgのバナー画像をJS化するカスタマイズだったのでMTタグと組み合わせたら
JSとして正常に吐き出されませんでした

読み込み用に最新エントリーを書き出す
上記記事を参考にし、成功しました。

  広告

 - Movable Type