MTにRSSFeed導入
ブログ上でRSSファイルを読み込んで、ニュース一覧などを表示してみようかな、と思い立った。RSSFeedというMovable TypeのPluginを導入。
必要なもの
mt-rssfeed mt-jcode作業
取ってきた二つのファイルを展開。まず、「mt-rssfeed.pl」をエディタで開く。15行目の#を取り除き、RSSのデータをCacheするディレクトリを指定する。今回は、mt.cgiが置いてあるディレクトリからの相対パスで「../../blog/rssfeed」というディレクトリを指定した。FTPでサーバに入り、実際にrssfeedというディレクトリを作る。属性を変更する。777とした。ついでに、「$MT/plugins」ディレクトリの下に「mt-rssfeed.pl」と「mt-jcode.pl」を移す。
「$MT/extlib/XML」の下に、RSSというディレクトリを作成。FTP経由で「LP.pl」を移す。
これでプラグイン関係の作業は終了。
テンプレートの変更
とりあえずMain Pageに表示してみることにした。記入の仕方はネット上でいろんな人のソースを見れば参考になる。今回は参考として、以下のようにした。"RSSのURI"の部分には、自分の表示したいRSSのアドレスを入れる。<div class="side"> <MTRSSFeed file="RSSのURI"> <div class="sidetitle"><$MTRSSFeedTitle$><br/></div> <MTRSSFeedItems lastn="5"> <a href="<$MTRSSFeedItemLink$>"><$MTRSSFeedItemTitle$></a><br/> </MTRSSFeedItems> </MTRSSFeed> </div>
しかし、このままMain Indexのテンプレートに書き込んでも、文字化けをすることが発覚。RSSを引用した部分だけは文字化けしないが、それ以外の部分がわけの分からぬ文字化けをするという症状が発生。
いろいろネット上で探した結果、以下の方法で解決。この方法を考案した方に感謝。
まず、MTの管理画面にて、「Templeteの編集→新しいIndex Templeteを作る」を行う。今回は名前が「RSSFeed」、出力ファイル名が「rssfeed.html」というテンプレートを作成し保存、Rebuild。内容は上記の9行をそのまま書く。後は、Main Indexのテンプレートに、
<$MTInclude file="rssfeed.html">
と記入し、保存、Rebuild。これで、RSSが表示されるようになった。複数のRSSを表示させたいときは、mt-listというPluginが便利とのこと。
残る問題
今のところ、サイトをRebuildしないと、RSSの内容が更新されない状態である。これを自動的に行うには、mt-rssfeedに含まれているmt-rebuildをcronで定期的に実行させればいいらしいのだが、俺が使っているレンタルサーバでは、cron jobはどうやら使えないらしい。対策を検討中。参考にさせていただいたところ
http://www.f-bell.net/blog/archives/000085.html
http://blog.bulknews.net/mt/archives/000006.html
http://www.spiritsjp.net/archives/000201.html

コメントする
(初めてのコメントの時は、コメントが表示されるためにこのブログのオーナーの承認が必要になることがあります。承認されるまでコメントは表示されませんのでしばらくお待ちください)