getRSSの取得について

質問全般・改善要望
返信する
info@motor-music.net
メンバー
メンバー
記事: 4
登録日時: 2020年1月23日(木) 04:38

getRSSの取得について

投稿記事 by info@motor-music.net »

MODX Evolution 1.0.23J 日本語版にてサイトを構築し、getRSSにて「アメーバブログ」の内容を取り込んでいるのですが、ブログの更新から1日経過しても取り込みが反映されていない状態です。

サイト内に貼り付けているコードは
[[getRSS? &url=http://rssblog.ameba.jp/***/rss20.xml &n=10]]

スニペットのコードは
/*
* getRSS
*
* RSS/Atomフィードを取得する簡易スニペット
* [[getRSS &url &n &tpl]] / [*tv_url:getRSS(n)*]
*
*/
return include(MODX_BASE_PATH . 'assets/snippets/getRSS/' . 'bootstrap.php');

です。

上記内容はGitHubからDLしたものを記載しています。
強制的に更新を読みに行く方法はあるのでしょうか?
例:getRSSの設定でRSS取得時間の設定やcronで更新するなど

大変お手数ですが、ご教示いただければ幸いです。何卒よろしくお願いいたします。
tktools
メンバー
メンバー
記事: 18
登録日時: 2020年8月17日(月) 09:13

getRSSの取得について

投稿記事 by tktools »

木下です。

新しいページを作成し、プレーンテキストモードにしてそのコードを張り付け
そのページを表示させれば取得できるはずです。

& はエスケープされてHTMLエンティティが表示されているので
実際に張り付けるときは

[[getRSS?&url=http://rssblog.ameba.jp/***/rss20.xml&n=10]]

を張り付ける必要があると思います。
info@motor-music.net
メンバー
メンバー
記事: 4
登録日時: 2020年1月23日(木) 04:38

getRSSの取得について

投稿記事 by info@motor-music.net »

木下様

早々にご返答いただきありがとうございます。
次回ブログ更新時に反映確認したいと思います。

>>新しいページを作成し、プレーンテキストモードにしてそのコードを張り付けそのページを表示させれば取得できるはずです。

とお答え頂いておりますが、既存のトップページのindex.phpにgetRSSを読み込みたいと考えているのですが、新しいページ内に読み込ませてそれをインクルードする方が良いという認識でよろしいのでしょうか?

度々の質問になり申し訳ございません。
tktools
メンバー
メンバー
記事: 18
登録日時: 2020年8月17日(月) 09:13

getRSSの取得について

投稿記事 by tktools »

木下です。

新しい、ページを作成しスニペットを張り付けた上でそのページを表示すれば即座にデータを取得しに行って
内容が表示されます。

URL等が間違っていて取得できない場合は
・最新情報の取得に失敗しました。
と表示されます。

例えば、
https://ameblo.jp/socchidiary/
の RSSを取得したいとすれば
[[getRSS?&url=http://rssblog.ameba.jp/socchidiary/rss.html&n=10]]
で取得できました。
[[getRSS?&url=http://rssblog.ameba.jp/socchidiary/rss20.xml&n=10]]
にしても同様に取得できました。

このようにスニペット単体でデータを取得・表示できることを確認しておけば
表示できないときに何が悪いのかがわかりやすいと思います。

まさかとは思いますが
https://github.com/noka/getRSS
からコード全体を取得したファイルを assets/snippets/getRSS に配置していないとか…
info@motor-music.net
メンバー
メンバー
記事: 4
登録日時: 2020年1月23日(木) 04:38

getRSSの取得について

投稿記事 by info@motor-music.net »

木下様

ご返答いただきありがとうございます。
githubからDLしたgetRSSフォルダにつきましては/assets/snippets/に配置しております。
ブログのトピックについても指定件数を間違いなく表示されております。

当方の記載に問題があったようです。申し訳ございません。
ブログが更新された際に、getRSSで取り込まれているブログのトピックになかなか反映されないのが問題と考えています。

これをできる限り早めに反映させるためにはどのようにすれば良いのでしょうか?
modxのメインタブから「サイトをリフレッシュ」するとすぐに反映されます。

自動的に「サイトをリフレッシュ」するか何かしらの方法があればよいのですが…
オレンジみかん
メンバー
メンバー
記事: 18
登録日時: 2020年4月16日(木) 10:15

getRSSの取得について

投稿記事 by オレンジみかん »

getRSSを利用してMODXへブログの取り込みを行っています。

詳しいことはわかりませんが、通常は、[[スニペット名]]と記述しますが、
キャッシュなしの[!スニペット名!]とすると問題なく稼働すると思います。

ex
[!getRSS? &url=RSSのアドレス &n=10 &tpl=テンプレート !]と記述すればよいかと!

また、getRSSでチャンクテンプレート作成すると思い通りのレイアウトができますよ。

「テンプレート例」
<time>[+date:date(%Y.%m.%d)+]</time> //日付取得
<p>[+category+]</p> //カテゴリ取得
<h3>[+title+]</h3> //タイトル取得
[+summary:summary(400)+] //HTMLタグなしで本文から400文字取得
※[+summary+]とすると記事全文表示(HTMLタグあり)
<img src="[+summary:getimage():ifempty(content/images/dummy.png)+]"> //最初の画像を取得(本文に画像が無ければ、dummy.pngを表示)
<a href="[+url+]" >View More</a>
info@motor-music.net
メンバー
メンバー
記事: 4
登録日時: 2020年1月23日(木) 04:38

getRSSの取得について

投稿記事 by info@motor-music.net »

>オレンジみかん様

お世話になります。
キャッシュ無しのスニペットを記載でRSSの情報が即反映されました。
ありがとうございました!

テンプレートについても丁寧にご説明いただきありがとうございます。
これで理想通りのページが作成できそうです。

木下様、オレンジみかん様、ありがとうございました。
返信する