エントリー
freoのRSSにページからの配信をするには
- カテゴリー:更新通知
- タグ:freoテンプレート, freoPHP, freo配布物
freoのRSSではエントリーが更新したら配信されますが、ページが更新されても配信はできません。それをページからでも配信しようという方法です。
エントリー・ページ双方配信用phpファイル
- ダウンロード
※2012/7/21 20:58にfreoのver1.9.0対応版と差し替えました。
※2013/1/3 21:58にfreoのver1.15.0対応版と差し替えました。
ページ専用のRSSを配信する場合
- 上記エントリー・ページ双方配信用phpファイルをダウンロードして解凍したら feed_all/ フォルダ内の feed_all.php を page.php にリネームして、freoの libs/freo/internals/feed/ 内にアップして下さい。
※ファイル名はpageでなくてもかまいませんが2.でリネームする.xmlファイル名と一致させてください。 - RSS1.0の場合は templates/internals/feed/default.xml、RSS2.0の場合は templates/internals/feed/rss2.xml を同じフォルダ内にコピーして page.xml にリネームします。
※RSSをカスタマイズする必要があるならこの時点で こちらの記事 を参考にして修正しておいてください(なおページではカテゴリーはありませんので導入する必要はありません)。
※ファイル名はpageでなくてもかまいませんが1.でリネームした.phpファイル名と一致させてください。 - リネームした page.xml を開いてエディタで
entry ⇒ page
entries ⇒ pages
に一括置換します。
その後で
/view/{if $page.code}{$page.code}{else}{$page.id}{/if} ⇒ /page/{$page.id}
(ページパス調整プラグイン を導入している場合は/{$page.id})
に一括置換します。 - 置換が終わった page.xml をアップすると、https://(freoのURL)/feed/page にページ専用のRSSが表示されます。
※/pageはファイル名と同じものになります。
※Feed配信時の絞り込みについて にも対応しています(ページにはカテゴリーがないのでカテゴリーでの絞り込みはできません)。 - RSSを登録しやすくするためには templates/header.html の10行目あたりにある
<link rel="alternate" href="{$freo.core.http_file}/feed" type="application/rss+xml" title="RSS" />
の部分を、
<!--{if $smarty.request.freo.mode == 'page'}--> <link rel="alternate" href="{$freo.core.http_file}/feed/page" type="application/rss+xml" title="RSS" /> <!--{else}--> <link rel="alternate" href="{$freo.core.http_file}/feed" type="application/rss+xml" title="RSS" /> <!--{/if}-->
に変更(赤字の部分を追加)します。
※上記はページが表示されるときは feed/page をその他なら feed を使用するというように条件分岐していますので適宜アレンジしてください。
エントリーとページの両方を同じRSSで配信する場合(RSS1.0の場合)
- 上記エントリー・ページ双方配信用phpファイルをダウンロードして解凍したら feed_all/ フォルダ内の feed_all.php を rss.php にリネームして、freoの libs/freo/internals/feed/ 内にアップして下さい。
※ファイル名はrssでなくてもかまいませんが4.でリネームする.xmlファイル名と一致させてください。 - templates/internals/feed/default.xml を同じフォルダ内にコピーして page.xml にリネームします。
※RSSをカスタマイズする必要があるならこの時点で こちらの記事 を参考にして修正しておいてください(なおページではカテゴリーはありませんので導入する必要はありません)。 - リネームした page.xml を開いてエディタで
entry ⇒ page
entries ⇒ pages
に一括置換します。
その後で
/view/{if $page.code}{$page.code}{else}{$page.id}{/if} ⇒ /page/{$page.id}
(ページパス調整プラグイン を導入している場合は /{$page.id})
に一括置換します。 - 再度 templates/internals/feed/default.xml を同じフォルダ内にコピーしてrss.xml にリネームします。
※RSSをカスタマイズする必要があるならこの時点で こちらの記事 を参考にして修正しておいてください。
※ファイル名はrssでなくてもかまいませんが1.でリネームした.phpファイル名と一致させてください。 - 3.で置換した page.xml を開いて次の部分を rss.xml にコピーします。
page.xml の<dc:date>{$page_update|date_format:'%Y-%m-%dT%H:%M:%S+09:00'}</dc:date>
の部分を
rss.xml の<dc:date>{$entry_update|date_format:'%Y-%m-%dT%H:%M:%S+09:00'}</dc:date>
の下に、
page.xml の<!--{foreach from=$pages|smarty:nodefaults item='page'}--> <rdf:li rdf:resource="{$freo.core.http_file}/page/{$page.id}" /> <!--{/foreach}-->
の部分を
rss.xml の</rdf:Seq>
の上に、
page.xml の<!--{foreach from=$pages|smarty:nodefaults item='page'}--> <item rdf:about="{$freo.core.http_file}/page/{$page.id}"> ~(略)~ </item> <!--{/foreach}-->
の部分を
rss.xml の最終行にある
の上に、それぞれコピーして rss.xml をアップします。</rdf:RDF>
※page.xml はアップしなくて結構です。 - アップすると、https://(freoのURL)/feed/rss にRSSが表示されます。
※/rssはファイル名と同じものになります。
※Feed配信時の絞り込みについて にも対応しています(ページにはカテゴリーがないのでカテゴリーでの絞り込みをするとエントリーのみ表示します)。
※最終更新日時がエントリーとページの2つあるのでうまく表示できない場合があるかもしれません。
※RSSリーダーによってエントリーの日時順に表示後にページが日時順に表示される場合とエントリーとページの合体した日時順に表示される場合があるみたいです。 - RSSを登録しやすくするためには templates/header.html の10行目あたりにある
<link rel="alternate" href="{$freo.core.http_file}/feed" type="application/rss+xml" title="RSS" />
に、
を追加するか変更します。<link rel="alternate" href="{$freo.core.http_file}/feed/rss" type="application/rss+xml" title="RSS" />
※追加する場合はtitleを適宜アレンジしてください。
関連エントリー
- 2023/09/05 freoのプロフィールやコメントでGravatarのアバターを表示する方法
- 2022/01/10 freoをあれこれカスタマイズ版の配布
- 2021/11/14 ショッピングカートプラグインの商品配送方法・料金などの変更
- 2021/09/25 freoのメディア登録・メディア管理のTinyMCE5プラグイン
- 2021/09/23 カレンダーの祝日定義の変更・延長
- 2020/08/08 freoにTinyMCE5を導入する
- 2018/06/10 freo用markItUp!拡張版の配布
- 2018/05/12 freoのエントリーのタグ投稿を楽にする方法
- 2018/03/16 freoのエントリーとページの編集画面で添付ファイルとイメージの画像を表示する方法
- 2018/03/16 freoのエントリーとページの編集画面でオプションの画像を表示する方法
コメント
ccc
随分昔の話でやり方を忘れているのですが、個人的には今のバージョンでも動作はずっと問題なくできてますよ。
アップ後に新しいエントリーかページを投稿してみてください。
そうでないとRSSは起動しなかったと思いますが...。
- URL
- 2016/07/30 20:57:00
ccc
念のため、
page専用のRSSファイル(libs/freo/internals/feed/page.php、templates/internals/feed/page.xml)
http://cccabinet.jpn.org/dlrank/dlranklog.cgi?dl=feed_page
両方同時配信用RSSファイル(libs/freo/internals/feed/rss.php、templates/internals/feed/rss.xml)
http://cccabinet.jpn.org/dlrank/dlranklog.cgi?dl=feed_rss
をアップしたので、使ってみてください。
>有償で設置お願いできませんか?
そんな大層なことではないので無償で提供させていただきます。
- URL
- 2016/07/30 21:20:00
kaitani
対応いただいてありがとうございます!
無事 作動しました!
原因は 私の早とちりで RSSのURL
http://(freoのURL)/feed/rssにRSS
とされているのを、設置フォルダと勘違いしてました
index.php/feed/rss とindex.phpも含めると表示されていました。
対応頂きまして本当に感謝です
取り急ぎご報告まで
- 2016/08/02 16:17:00
コメント登録
- コメントを入力してください。
- 一旦登録したコメントは、あとで編集できませんのでご注意下さい。
ccc
すみません。こちらのスクリプトですが、現行のfreo Ver 1.19.3 でも有効でしょうか?
試してみたのですが、6番の
で ページのみ&ページとエントリー双方 どちらのパターンも何も表示されませんでした・・・
追伸:現行バージョンでも正式に動作する場合、有償で設置お願いできませんか?