Movable Type 備忘録

 FeedEx プラグイン

  • Sep062008
  • Vote:
    http://bizcaz.com/archives/2008/09/06-103153.php
  • Categories: Customize
  • Tags: , ,
  • Social Bookmark

おはよございます^^

Movable Type で RSS リーダー作ってみるでご紹介しました自作 RSS リーダーですが、FeedEx プラグインを作成することでわたしなりの機能を達成できたのでそのプラグインをご紹介します。

最初、デフォルトの MTFeed を日時、記事概要を取得できるようにカスタマイズしようとしたのですが、調べてる内に MTFeed というのは有償版ってのもあるらしく、有償版で投稿日時、記事概要が使えるようになってるみたいなんです。

そんな MTFeed をカスタマイズしてしまうとまずいのでは・・・ということで、プラグインを別途作ることで対応してみました。

FeedEx プラグインのカンタンな説明

一応 RSS1.0、RSS2.0、ATOM0.3、ATOM1.0 に対応してます。
また、FeedEx プラグインをインストールすると以下のタグが追加されます。

  • MTFeedEx ブロックタグ

    MTFeedEx に uri モディファイアでフィード URL を指定することで、各フィード情報を読み出すことができます。

  • MTFeedExTitle ファンクションタグ

    フィード URL で指定したサイトタイトルを取得します。MTFeedEx ブロックタグ内で使用します。

  • MTFeedExLink ファンクションタグ

    フィード URL で指定したサイト URL を取得します。MTFeedEx ブロックタグ内で使用します。

  • MTFeedExEntries ブロックタグ

    フィード内のアイテム情報( 記事情報 )を取得するためのブロックタグです。MTFeedEx ブロックタグ内で使用します。

  • MTFeedExEntryTitle ファンクションタグ

    アイテム情報( 記事情報 )の中のタイトル( 記事タイトル )を取得します。MTFeedExEntries ブロックタグ内で使用します。

  • MTFeedExEntryLink ファンクションタグ

    アイテム情報( 記事情報 )の中の URL ( 記事の URL )を取得します。MTFeedExEntries ブロックタグ内で使用します。

  • MTFeedExEntryDate ファンクションタグ

    アイテム情報( 記事情報 )の中の投稿日時を取得します。MTFeedExEntries ブロックタグ内で使用します。

  • MTFeedExEntryDescription ファンクションタグ

    アイテム情報( 記事情報 )の中の記事概要を取得します。MTFeedExEntries ブロックタグ内で使用します。

ダウンロード

以下のページから最新版をダウンロードできます。

使い方

上記ページから FeedEx プラグインをダウンロードして頂き、いつものように mt/plugins/ フォルダ内に FeedEx/ フォルダを丸ごとアップロードします。

使い方はデフォルトの MTFeed と同様です。
Movable Type で RSS リーダー作ってみるでご紹介してるコードは MTFeedEx プラグインでは以下のようになります。

サンプル

  1. <?php
  2.     function print_new($date,$days=1)
  3.     {
  4.         $result = date("YmdHis", mktime(date("H"),date("i"),date("s"),date("m") ,date("d") - $days, date("Y")));
  5.         if ($date >= $result) print '<img src="<$MTBlogURL$>mt_memo/css/new.gif">';
  6.     }
  7. ?>
  8. <mt:SetVar name="feed[0]" value="http://feeds.feedburner.com/ogawa">
  9. <mt:SetVar name="feed[1]" value="http://feeds.feedburner.jp/koikikukan">
  10. <mt:SetVar name="feed[2]" value="http://www.h-fj.com/blog/atom.php">
  11. <mt:SetVar name="feed[3]" value="http://feeds.feedburner.jp/oraora">
  12. <mt:SetVar name="feed[4]" value="http://www.dakiny.com/index.xml">
  13. <mt:SetVar name="feed[5]" value="http://blog.aklaswad.com/atom.xml">
  14. <mt:SetVarBlock name="cnt"><mt:GetVar name="feed" function="count" value="1" op="-"></mt:SetVarBlock>
  15.  
  16. <mt:For var="i" from="0" to="$cnt">
  17.     <mt:SetVarBlock name="uri"><mt:GetVar name="feed[$i]"></mt:SetVarBlock>
  18.  
  19.     <dl class="mt_reader">
  20.     <MTFeedEx uri="$uri">
  21.         <dt><a href="<$MTFeedExLink$>"><$MTFeedExTitle$></a></dt>
  22.         <dd>
  23.             <ul>
  24.             <MTFeedExEntries lastn="3">
  25.             <li><a href="<$MTFeedExEntryLink$>" style="display:block;"><$MTFeedExEntryTitle$> <?php print_new(<$MTFeedExEntryDate format="%Y%m%d%H%M%S"$>); ?></a><$MTFeedExEntryDate format_name="rfc822"$></li>
  26.             </MTFeedExEntries>
  27.             </ul>
  28.         </dd>
  29.     </MTFeedEx>
  30.     </dl>
  31. </mt:For>

青字の部分は記事の投稿日時をチェックして、NEW マークを表示する為の PHP コードになります。
ブログの PHP 化を行ってる人はそのまま使用できますが、PHP 化されてない人はエラーしてしまいますのでご注意ください。

赤字の部分では、MTFeed が MTFeedEx に変更になった部分です。

以上です。

 Trackback Pings(3)

from 小さな世界

Movable Typeは動的なファイル生成、静的ファイル生成ともに扱うことが可...

from 開発者ブログ

MTOSではMTFeedが使えません。 今回はMTOSでMTFeedと同じことを出来るようにする方法です。 通常版のMTに付属してくるMTFeedは有料版...

from 45式::雑記

run-periodic-tasks経由で再構築する際にFeeds.App Liteが原因で妙なメッセージが出るようになりました。 手っ取り早い対策として...

 Comments(43)

#1: Posted by Author Profile Page Kei @ September 6, 2008 [REPLY]
user-pic

こんにちはぁ^^

早々ダウンロードして設置したかったのですが。。。
プラグインデレクトリにFeedExフォルダ入れるとエラーきました^^;
内容です
Got an error: Error reading /mt/plugins/FeedEx/config.yaml: YAML::Tiny does not support multi-line quoted scalars at /mt/extlib/YAML/Tiny.pm line 159.

#2: Posted by Author Profile Page bzbellからKeiへの返信 @ September 6, 2008 [REPLY]
user-pic

>>1 Kei さん

こんにちわ^^

どうやら後から付け足した config.yaml 内の doc_link の記述が間違ってたみたいあせあせ
すいません。ありがとございますテレテレ

#3: Posted by Author Profile Page Kei @ September 14, 2008 [REPLY]
user-pic

こんばんわぁバイバイ
FeedExプラグイン挑戦中です^^
プラグインの方でのエラーではないと思うのですが。
PureKeiで設置を試みたところ再構築でエラー発生してしまって設置できまぬエーン
なぜだかわからずで><

まずは、こちらのコード(そのままコピペ)でやってみたのですが
エラー内容
Invalid feed source: http://feeds.feedburner.jp/koikikukan at /mt/plugins/FeedEx/lib/FeedEx/Plugin.pm line 42
と、再構築画面で出ました。
数日前に設置試みた時は「http://feeds.feedburner.jp/koikikukan」の部分が「http://blog.aklaswad.com/atom.xml」だったりで

アーカイブテンプレート、モジュールテンプレートと作成してみたのですが駄目でした
設置テンプレートと設定に何か問題あるのでしょうかね^^;

#4: Posted by Author Profile Page bzbellからKeiへの返信 @ September 14, 2008 [REPLY]
user-pic

>>3 Kei さん

こんばんわ^^

はい。実はわたしのところでも小粋空間さんのフィード読込むと同様の現象がでます。
断言はできないのですが CORESERVER のサイトだと再現するような気がしてます。またはフィード元さんで弾いてる!?

上記サーバを使ってるサイトさんのフィードを読込むとなぜか Perl ライブラリ内でエラーしてるようで、エラーするならそれでもいいんだけど、有無を言わさずそのエラーメッセージが表示されちゃいまして困ってるんですガーン
ちょっと前までは問題なく表示できたんですけどねぇ・・・突然のことで問題点を洗い出してるところです。

ご迷惑をおかけしますもじもじ

#5: Posted by Author Profile Page Keiからbzbellへの返信 @ September 14, 2008 [REPLY]
user-pic

>>4 bzbell さん
そうでしたかぁあせあせ
小粋空間さんのフィールドで「http://feedproxy.google.com/koikikukan」の方へ変更して
ウェブページ作成でやってみたらエラーはでませんでしたけども。
これではエラーの解決にはなりませんものね><
元の「http://www.koikikukan.com/atom.xml」ですと同じくエラーでましたので
難しいですね><

#6: Posted by Author Profile Page bzbellからKeiへの返信 @ September 14, 2008 [REPLY]
user-pic

>>5 Kei さん

> 小粋空間さんのフィールドで「http://feedproxy.google.com/koikikukan」の方へ変更して
> ウェブページ作成でやってみたらエラーはでませんでしたけども。
ホントだガーン
う~ん・・・原因がよく分からないなぁ。吐き出されるフィードの内容に問題があるのかしらはて?

#7: Posted by Author Profile Page Keiからbzbellへの返信 @ September 14, 2008 [REPLY]
user-pic

>>6 bzbell さん
小粋空間さんのRSSと言うアイコンは「http://www.koikikukan.com/atom.xml」でリンクが貼られていて、飛ぶと「http://feeds.feedburner.jp/koikikukan」にリダイレクト?になってるっぽいんです。

あと。。違う問題なのですが
ウェブページでリーダーページ作成したのですが
メタタグでNewアイコンの呼び出し?なりますよね
そのタグの後に、「 '..." /> 」 がくっついちゃうのです。
ソースで見ると
<meta name="description" content="= $result) print 'mt_memo/css/new.gif">'..." />
となってます
ページで見ると1番上に '..." />  が表示されまして。。
これはどうしたらよいのでしょうか><

作成したウェブページです http://ke-i-s.net/reader.php

#8: Posted by Author Profile Page bzbellからKeiへの返信 @ September 14, 2008 [REPLY]
user-pic

>>7 Kei さん

> ・・・飛ぶと「http://feeds.feedburner.jp/koikikukan」にリダイレクト?になってるっぽいんです。

あぅ!? リダイレクト!?
そこら辺と何か関係してるのかもしれませんね。
仮にそれが原因だったとした場合、リダイレクト先のフィードを読込ませる必要がありそうですね。

ウェブページの件ですが、ウェブページの description メタタグには、記事内容の概要を表示するようにしてるんです。
なので、わたしのサイトではフィードページなど、文章がないページに関して「ウェブページ」アーカイブテンプレートを以下のように記述してます。

<mt:Ignore>ここでページタイトル名称と取得します</mt:Ignore>
<mt:SetVarBlock name="page_title"><$MTPageTitle encode_html="1"$></mt:SetVarBlock>
<mt:Ignore>ページタイトルが「リンク集」だった場合、ブログの概要を表示するよう分岐させてます
それ以外はウェブページ内の記事概要を表示させます</mt:Ignore>
<mt:If name="page_title" eq="リンク集">
<mt:SetVarBlock name="page_description"><$MTBlogDescription$></mt:SetVarBlock>
<mt:Else>
<mt:SetVarBlock name="page_description"><$MTPageExcerpt remove_html="1" convert_breaks="0"$></mt:SetVarBlock>
</mt:If>

上記はほんの一例ですが、このようなかんじで条件分岐させてます。
よく分からないようでしたら、メールフォームにて Kei さんとこの「ウェブページ」アーカイブテンプレートを添付して、弾きたいページタイトル名称を明記して頂ければ対応しますやあ!

#9: Posted by Author Profile Page Keiからbzbellへの返信 @ September 14, 2008 [REPLY]
user-pic

>>8 bzbell さん
にょ・・・
ウェブページ新規作成(記事と同じく)ではなくて。。テンプレートアーカイブの方での操作ですか!?
まったく脳みそがついてきておりませぬキャハハ

メール送ってみます><

#10: Posted by Author Profile Page bzbellからKeiへの返信 @ September 14, 2008 [REPLY]
user-pic

>>9 Kei さん

追加したものを Kei さん宅にお送りしましたのでご確認ください。

#11: Posted by Author Profile Page Keiからbzbellへの返信 @ September 14, 2008 [REPLY]
user-pic

>>10 bzbell さん
ありがとうございました^^
入れ替えて再構築しましたら直りました
お手数おかけしてすみませんでしたあせあせ

#12: Posted by 通りすがらない @ March 17, 2009 [REPLY]
user-pic

初めまして。FeedExを利用させていただこうとしています。
が、以下のようなエラーが出て使用できません。

failed loading package FeedEx::Plugin for routine FeedEx::Plugin::tag_feed: syntax error

MTのバージョンは4.24です。サーバはLinuxなので改行コードかと思い、
アスキーモードで転送してますがダメです。何が原因か判りますでしょうか?

#13: Posted by Author Profile Page bzbellから通りすがらないへの返信 @ March 17, 2009 [REPLY]
user-pic

>>12 通りすがらない さん

こんばんわ^^

断言できませんが、たぶん MTFeedEx ブロックタグに不正なパラメータが渡されたことによるエラー、または Feed モジュールの内部処理エラーではないかとあせあせ
  1. 何度再構築しても同じですか!?
  2. MT のログに何か残されてませんか!?
  3. 念のため確認しますが、プラグイン一覧には正しく表示されてますよね!?
  4. ウチは Movable Type Pro 4.24 で普通に使用できますが、MTOS を利用されてますか!?
    MTOS 上では未確認です。
#14: Posted by 通りすがらないからbzbellへの返信 @ March 18, 2009 [REPLY]
user-pic

>>13 bzbell さん
返信ありがとうございます。

1. 何度やっても同じです。テンプレートにタグを書き、「保存と再構築」を押すと前記のエラーが出ます。
その後、プラグインを削除しない限り、テンプレートの編集画面へさえ戻れません。
ずっと同じエラーが出たままです。プラグインを削除後に編集画面へ戻ると、
「<MTFeedEx>は存在しません」というエラーが出ます(当然ですが)。
タグが残っていることから、保存をしてからのちにエラーが出てるようです。
最初、<mt:FeedEx>という記法にしてましたのでそのせいかと思いましたが、
<MTFeedEx>にしても同じです。
2. ログには何も残っていません。
3. 「ブログ」のプラグイン一覧には出ませんが、「システムメニュー」のプラグイン一覧には出てます。
ただ、FeedEx-0.03.zipをインストールしましたが、バージョンは0.02と出てます。
4. Commercial(正規購入版)です。

以下に使用しているタグをそのまま記載します。細部は違っていますが、
タグの利用方法はそのままです。

<MTFeedEx uri="http://...">
<a href="<$MTFeedExLink$>"><$MTFeedExTitle$></a>
<MTFeedExEntries lastn="1">
[<$MTFeedExEntryDate$>]
<a href="<$MTFeedExEntryLink$>"><$MTFeedExEntryTitle$></a>
</MTFeedExEntries>
</MTFeedEx>

#15: Posted by Author Profile Page bzbellから通りすがらないへの返信 @ March 18, 2009 [REPLY]
user-pic

>>14 通りすがらない さん

こんばんわ^^

何だろ・・・原因が検討つかないですねあせあせ
ウチは Pro ですが Commercial でも基本は同じなので問題ないと思うんですよねぇ・・・ウチは問題なく使えてるので。

通りすがらない さんが、MTFeedEx をどのテンプレートで使われてるのか分かりませんが、たとえば適当なインデックステンプレート( test.html )を作成して、上記コードを再構築しても同様でしょうか。また、プラグイン一覧に表示された MTFeedEx プラグインが無効になってるってことはないですよね!?

#16: Posted by 通りすがらないからbzbellへの返信 @ March 19, 2009 [REPLY]
user-pic

>>15 bzbell さん
試しに別サーバにインストールされてるMT個人ライセンス版・4.24にインストールし、
だけを書いたテンプレートを作ってみましたが、
まったく同じ症状が出ました。こっちではできるだろうと踏んでいたのですが、予想外デス…。
インストールの仕方がまずいんでしょうか?
ただ単に [mt]/plugins/ に FeedEx/ をそのままアップロードして
(アップロード後は [mt]/plugins/FeedEx/ となる)います。
アスキー・バイナリー両方でアップロードしましたが…うーん。
Plugin.pm内のtag_feedにシンタックスエラーが出てるとありますが、
ただ単に一発目の読み込みから失敗してるだけでしょうし。困りました。

#17: Posted by Author Profile Page bzbellから通りすがらないへの返信 @ March 19, 2009 [REPLY]
user-pic

>>16 通りすがらない さん

こんにちわ^^

  1. プラグインに記述ミスなどによる不具合があった場合、まず MT の管理画面にも影響がでます。 そういったことがないようなので、プラグインはとりあえず正しく読込まれていると判断してます。

  2. エラー内容から、読込もうとしたフィードに問題!? があるように思います。 試しに別なサイトさんのフィードで確認してみてください。
    わたしの経験上、正しくないフィードを読込もうとすると何らかのエラーが発生してました。

    また、ウチで使ってるサーバの制約上、大きなサイズのフィードを読込もうとするとタイムアウトエラーが発生してるようでした。

    もし、読込もうとしたフィードに原因があった場合には、XML 解析モジュールの配布元さんにご連絡する必要があります。( 何らかの対応をして頂けると嬉しいブイブイ )
    その際にはフィードの URL を教えていただけますか。

というかんじでしょうか。
通りすがらない さんのインストール、タグには問題はなさそうなのでご心配なさらずにうぅ~ん

#18: Posted by 通りすがらないからbzbellへの返信 @ March 21, 2009 [REPLY]
user-pic

>>17 bzbell さん

あのー、バグを発見しましたが…。
lib/FeedEx/Plugin.pm の42,43行目、

my $feed = XML::FeedPP->new($uri);
or return $ctx->error("Invalid feed source [$uri]");

42行目の最後のセミコロン、いらないんじゃないですか?
これ取り除いたらあっさり稼働しました(笑)。

あとついでにですが、パッケージのバージョンが 0.03 ですが
config.yaml には 0.02 となってます。
こちらも揃えられた方がよろしいかと存じます。お知らせまで。

#19: Posted by Author Profile Page bzbellから通りすがらないへの返信 @ March 21, 2009 [REPLY]
user-pic

>>18 通りすがらない さん

こんばんわ^^

> 42行目の最後のセミコロン、いらないんじゃないですか?

あれっ!?
すいませんあせあせ
その不具合対応したはずなんですけど・・・UP してなかったみたいですね。
わたしが使ってるプラグインと同じものだと思ってたので、何でエラーするんだろ・・・と不思議には思ってたのですが納得しました。
お手数おかけしてすいませんでしたもじもじ

> こちらも揃えられた方がよろしいかと存じます。お知らせまで。

ありがとございます。
不具合といっしょに直しておきますやあ!

#20: Posted by nuts @ March 27, 2009 [REPLY]
user-pic

大変便利なプラグインをありがとうございます!
初歩的な質問をさせてください。
これはどのタイミングで反映されるのでしょうか。
リンクしてる外部ブログが更新されると自動で反映されるのでしょうか。
それとも自分のブログを再構築した際に最新情報が反映されるのでしょうか。

#21: Posted by Author Profile Page bzbellからnutsへの返信 @ March 27, 2009 [REPLY]
user-pic

>>20 nuts さん

こんばんわ^^

> それとも自分のブログを再構築した際に最新情報が反映されるのでしょうか。

はい。自分のブログを再構築した時に反映されます。
ですので、ウチではダイナミック・パブリッシングを使って定期的に再構築するようにしてます。

#22: Posted by T @ January 22, 2010 [REPLY]
user-pic

はじめまして。
このプラグイン日付を取得出来てとても重宝して使用しました。
今回のMT5にアップグレードしたら文字化けを起こしてしまいました。
このプラグインのバージョンアップはありますか。

#23: Posted by Author Profile Page bzbellからへの返信 @ January 23, 2010 [REPLY]
user-pic

>>22 T さん

こんにちわ^^

使って頂いてありがとですやあ!
エンコードの問題ですが、今調べてます。現状を言いますと、何で変換できないのか分からずにいますあせあせ
少々お待ち頂けますかぺこり

#24: Posted by Author Profile Page bzbellからへの返信 @ January 23, 2010 [REPLY]
user-pic

>>22 T さん

こんにちわ^^

MTFeedEx プラグイン、MT5.x に対応しましたので、よかったら使ってくださいぺこり使い方は従来と同様です。

#25: Posted by naganaga @ May 6, 2010 [REPLY]
user-pic

FeedExプラグインなんですが、文字化けしてしまいます。
それ以外は、問題無く動作をしております。

当方の動作環境はMTOS5.01に最新版であろう0.07をインストールしています。
取得しているFeedは、Feedburnerです。
試しにATOMで行ってみたのですが、文字化けします。

過去コメントで解決した感じに取れるので、
MTOSだけで文字化けが起こっているのでしょうか。
解決方法をご教授ください。

#26: Posted by Author Profile Page bzbellからnaganagaへの返信 @ May 7, 2010 [REPLY]
user-pic

>>25 naganaga さん

こんにちわ^^

文字化けですかあせあせ
naganaga さんがお使いの MTOS の文字コードは UTF-8 でしょうか。
ちょと確認したいのですが plugins/FeedEx/lib/FeedEx/Plugin.pm 内の 183 行目を以下のように変更して再構築して頂けますか。

$data = encode_text($data, $enc, 'UTF-8');

その結果をご連絡頂けたらと思いますぺこり

#27: Posted by naganaga @ May 15, 2010 [REPLY]
user-pic

フィードを受信している側も、送信している側も、文字コードはUTF-8を使っています。プラグインも、変更して再構築をかけてみましたが、文字化けは相変わらずです。

当方が何か単純なミスをしている可能性もありますので、該当部分のリストを添付しておきます。
このリストは、MTOS4ではちゃんと表示していました。

<MTFeedEx uri="http://feeds2.feedburner.com/xxxxxxx">
<h3>Recent "<mt:FeedExTitle />"</h3>
<ul class="space-s">
<MTFeedExEntries lastn="5">
<li class="arrow"><a href="<$mt:FeedExEntryLink$>" target="_blank"><$mt:FeedExEntryTitle trim_to="20"$><?php print_new(<$mt:FeedExEntryDate format="%Y%m%d%H%M%S"$>); ?></a></li>
</mt:FeedExEntries>
</ul>
<p class="text-right space-l">
<a href="<$mt:FeedExLink$>" target="_blank">More &gt;&gt;</a>
</p>
</mt:FeedEx>
#28: Posted by Author Profile Page bzbellからnaganagaへの返信 @ May 15, 2010 [REPLY]
user-pic

>>27 naganaga さん

こんにちわ^^
使い方的には問題なさそうですね。
trim_to が原因…てことはないですよねあせあせ
実は MTOS での動作確認ってやってなく、たぶん動くだろう…くらいにしか思ってませんでした。
MTOS 5 のコードを DL して動作確認してみます。
ご迷惑をお掛けしますが少しお待ちくださいぺこり

#29: Posted by メンソレータム @ June 16, 2010 [REPLY]
user-pic

こんばんわ。
まさに探していたソフトです!
が、しかし・・・。以下のようなエラーがでます。
普通のMTFeedを使った場合は問題なく表示されましたので、feed自体は問題なさそうです。
もちろんMTはプラグインを認識しています。バージョンは4.27です。
何かヒントをいただけないでしょうか??

failed loading package FeedEx::Plugin for routine FeedEx::Plugin::tag_feed: "utf8_off" is not exported by the MT::I18N module Can't continue after import errors

#30: Posted by Author Profile Page bzbellからメンソレータムへの返信 @ June 17, 2010 [REPLY]
user-pic

>>29 メンソレータム さん

こんばんわ^^

MT::I18N モジュールの utf8_off は外部公開されてない!?…みたいなこと言ってますね。
MT4.27 ですか…では、ちょと自信ないのですが、以下のファイルを上書きして確認してみて頂けますか。
plugins/FeedEx/lib/FeedEx/Plugins.pm
よろしくお願いしますぺこり

#31: Posted by 朝之丞 @ June 21, 2010 [REPLY]
user-pic

初めまして、こんにちは、朝之丞と申します。
実は故あって、
「ブロガーズ・ネットワーク 翼」 始める予定です
http://tomono10g.com/2010/05/24/%E3%80%8C%E3%83%96%E3%83%AD%E3%82%AC%E3%83%BC%E3%82%BA%E3%83%BB%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF-%E7%BF%BC%E3%80%8D-%E5%A7%8B%E3%82%81%E3%82%8B%E4%BA%88%E5%AE%9A%E3%81%A7%E3%81%99/
Movable Type 5(ポータル) + TypePad Pro(ブロガー個別)と言う運用のため、
TypePad ProのRSSを、貴殿が作成したFeedEXプラグインを利用させて頂き、実現しております。

http://bloggers-network283.com/

未だ、構築中です。
一つご質問させて頂きたいのですが(素人っぽい質問で申し訳御座いませんが)、
MTFeedExEntryDescription
で取得出来る 記事概要 をもう少し長い文章を取得したいのですが、何か与えるパラメータはあるのでしょうか?
お忙しいとは存じますが、是非ご教示頂きたく、お願い申し上げます。

#32: Posted by メンソレータム @ June 21, 2010 [REPLY]
user-pic

>>30bzbellさん

こんにちは☆お返事遅れて申し訳御座いません。
アップロードして頂いたファイルを上書きしたら無事うまくいきました!!
本当に有難う御座います!!!

それにしても良いプラグインを有難う御座います。

応援しています!!ワクワク

#33: Posted by Author Profile Page bzbellから朝之丞への返信 @ June 21, 2010 [REPLY]
user-pic

>>31 朝之丞 さん

こんばんわ^^

特にそのような取得制限は設けてません。
確認したところ、MT でいうところの MTEntryBody で出力される内容はすべて表示されてます。
たぶん、参照されてるサイトさんのフィードで表示文字数の制限をかけられてるのではないでしょうか。試しに RSS リーダーでそのフィードを読ませてみるといいのココロやあ!

#34: Posted by Author Profile Page bzbellからメンソレータムへの返信 @ June 21, 2010 [REPLY]
user-pic

>>32 メンソレータム さん

こんばんわ^^

うまくいったようですね。
よかったですワクワク
今後ともどうぞよしなにぺこり

#35: Posted by kimura @ July 18, 2010 [REPLY]
user-pic

はじめまして。
便利なプラグインをありがとうございます。
ひとつ、伺いたいことがあります。

ブラウザでソースを見てみると取り込んだ文字列がすべて数値文字参照になっています。
そのため regex_replace などで日本語を指定しても変換されないみたいです。
将来的には読み込んだRSSをエントリに書き出すことを考えているのですが、
エントリ文字がすべて数値文字参照になってしまうと検索機能も使えないのでどうしようかと困っています。
ソース上でも数値文字参照ではなく普通の文字列で表示されるようにするにはどうすればよいのでしょうか。
お忙しいところすみませんがどうぞよろしくお願いいたします。ぺこり

#36: Posted by Author Profile Page bzbellからkimuraへの返信 @ July 18, 2010 [REPLY]
user-pic

>>35 kimura さん

はじめまして^^

このブログで確認したところ、数値文字参照にはなってないようです。 普通にテキストとして変換されてるようです。 お手数ですが、メールフォームにて kimura さんが作られましたコードとその現象が確認できるページの URL を送っていただけますか。 実際に見てみたいですぺこり
#37: Posted by kimuraからbzbellへの返信 @ July 18, 2010 [REPLY]
user-pic

>>36 bzbell さん
どうやらツイッターのRSSを読み込むと、この現象が起きるようです。

例 無印良品のツイッターのRSS
http://twitter.com/statuses/user_timeline/43255797.rss
ここのページ自体のソースが数値文字参照になっていました。
どうにか読める文字で表示したいです。なにか対策はありますでしょうか。

ためしに別のフィード(個人ブログ)を読み込んでみましたら普通に読める文字列で表示されました。
コードは上記 MTFeedExプラグインサンプルからPHPのコ-ドを除いたものを使用しています。

今は、自宅windowsサーバーでMTサイトを構築中なのでページをみていただくことができません。
すみません。
どうぞよろしくお願いいたします。ふつう

#38: Posted by かんぴょ @ August 13, 2010 [REPLY]
user-pic

すばらしいプラグインをありがとうございます。
質問ですが、
複数のブログをFeedExで最新記事順に並べ替えるにはどうすればよいのでしょうか?
サンプルでは
Aブログ
・Aプログの最新記事3つ
Bブログ
・Bプログの最新記事3つ
Cブログ
・Cプログの最新記事3つ
ですが、

Aプログの最新記事1つ
Bプログの最新記事1つ
Cプログの最新記事1つ
を最新順に自動で並べ替えて表示する方法はありますでしょうか?

方法があればご教授頂ければと思います。
よろしくお願い致します。

#39: Posted by Author Profile Page bzbellからかんぴょへの返信 @ August 13, 2010 [REPLY]
user-pic

>>38 かんぴょ さん

こんにちわ^^

ご質問の件ですが、以下のようにすれば全ブログの最新順にソートして表示することができます。

<mt:SetHashVar name="blogHash">
<!--- ここは好きなサイトさんのフィードURLで変更してください。--->
<mt:SetVar name="<00>WolaWola" value="http://www.zelazny.mydns.jp/feeds/rss.xml">
<mt:SetVar name="<01>小粋空間" value="http://www.koikikukan.com/atom.xml">
<mt:SetVar name="<02>CSS Lecture" value="http://feeds2.feedburner.com/css-lecture/">
</mt:SetHashVar>
<mt:Loop name="blogHash" sort_by="key">
<mt:FeedEx uri="$__value__">
<mt:FeedExEntries lastn="3">
<mt:SetVarBlock name="ent_date"><$mt:FeedExEntryDate format="%B %e, %Y %I:%M:%S %p"$></mt:SetVarBlock>
<mt:SetVarBlock name="ent_link"><a href="<$mt:FeedExEntryLink$>"><$mt:FeedExEntryTitle$></a><br /><$mt:FeedExEntryDate format="%B %e, %Y %I:%M %p"$></mt:SetVarBlock>
<mt:SetHashVar name="feedHash">
<mt:SetVar name="$ent_date" value="$ent_link">
</mt:SetHashVar>
</mt:FeedExEntries>
</mt:FeedEx>
</mt:Loop>
<ul>
<mt:Loop name="feedHash" sort_by="key reverse">
<li><mt:Var name="__value__"></li>
</mt:Loop>
</ul>
上記コードをカンタンに説明すると、
  1. ブログ一覧(blogHash)で出力されてるフィードの3件分をフィード一覧(feedHash)に格納します。その際、投稿された日付をキーにします。
  2. 格納した一覧からキー(日付)を新しい順にソートして一覧表示します。

以上、ざっくりですがこんなことやってます。
お試しあれぇ~やあ!

#40: Posted by かんぴょ @ August 13, 2010 [REPLY]
user-pic

お盆でお忙しい中、本当にありがとうございました。
試してみました!
うまく出来ました(o^∇^o)ノ
解説まで付けていただいてありがとうございます。
とはいえ、ちんぷんかんぷんですが、
がんばって少しずつ勉強してみます。

#41: Posted by かんぴょ @ August 24, 2010 [REPLY]
user-pic

ふたたび、すみません。
上のやり方の応用で、
10つのブログを登録しておいて、
更新日付の新しい順に5つのブログの記事を抽出するにはどうすればよろしいでしょうか?
いろいろ試してみたのですが、どうしてもできません。
お時間のあるときに教えていただけると助かります。
よろしくお願いいたします。

#42: Posted by Author Profile Page bzbellからかんぴょへの返信 @ August 28, 2010 [REPLY]
user-pic

>>41 かんぴょ さん

こんにちわ^^
返事が遅くなりすいません。
ご質問の件ですが、けっこう面倒なことされるんですねあせあせ
確認はしてませんが、以下のようにすればいいのではないでしょうか。

<mt:Ignore>■■■フィード一覧■■■</mt:Ignore>
<mt:SetVar name="blogList[0]" value="http://xxx/rss.xml">
<mt:SetVar name="blogList[1]" value="http://xxx/atom.xml">
<mt:SetVar name="blogList[2]" value="http://xxx/index.xml/">
<mt:SetVar name="blogList[3]" value="http://xxx/atom.xml">
<mt:SetVar name="blogList[4]" value="http://xxx/index.xml/">
<mt:SetVar name="blogList[5]" value="http://xxx/rss.xml">
<mt:SetVar name="blogList[6]" value="http://xxx/atom.xml">
<mt:SetVar name="blogList[7]" value="http://xxx/index.xml/">
<mt:SetVar name="blogList[8]" value="http://xxx/rss.xml">
<mt:SetVar name="blogList[9]" value="http://xxx/atom.xml">
<mt:Ignore>■■■更新された順にブログをソート■■■</mt:Ignore>
<mt:For var i=0 from=0 to=9>
<mt:SetVarBlock name="blogUri"><mt:GetVar name="blogList[$__index__]"></mt:SetVarBlock>
<mt:FeedEx uri="$blogUri">
<mt:FeedExEntries lastn="1">
<$mt:FeedExEntryDate format="%B %e, %Y %I:%M:%S %p" setvar="ent_date"$>
<mt:SetHashVar name="blogSort">
<mt:SetVar name="$ent_date" value="$blogUri">
</mt:SetHashVar>
</mt:FeedExEntries>
</mt:FeedEx>
</mt:For>
<mt:Ignore>■■■更新ブログ5つの記事3件分を日付順にソート■■■</mt:Ignore>
<mt:Loop name="blogSort" sort_by="key reverse">
<mt:If name="__counter__" le="5">
<mt:FeedEx uri="$__value__">
<mt:FeedExEntries lastn="3">
<$mt:FeedExEntryDate format="%B %e, %Y %I:%M:%S %p" setvar="ent_date"$>
<mt:SetVarBlock name="ent_link"><a href="<$mt:FeedExEntryLink$>"><$mt:FeedExEntryTitle$></a><br /><$mt:FeedExEntryDate format="%B %e, %Y %I:%M %p"$></mt:SetVarBlock>
<mt:SetHashVar name="feedHash">
<mt:SetVar name="$ent_date" value="$ent_link">
</mt:SetHashVar>
</mt:FeedExEntries>
</mt:FeedEx>
</mt:If>
</mt:Loop>
<mt:Ignore>■■■一覧表示■■■</mt:Ignore>
<ul>
<mt:Loop name="feedHash" sort_by="key reverse">
<li><mt:Var name="__value__"></li>
</mt:Loop>
</ul>
#43: Posted by かんぴょ @ September 2, 2010 [REPLY]
user-pic

ありがとうございました。
返信が遅くなってすみません。
ようやく成功できました。
すばらしいです。
ありがとうございました

 Post a Comment

 

コメント用フィード