こんにちは、田村です。
今回は、特定のカテゴリーでRSSフィード(rss2.xml)を表示する方法について説明します。
次のように、rss2.xmlを特定のカテゴリーで表示したい場合がありました。
https://masizime.com/blog/rss2.xml
以前は、URLで「rss2.xml」を指定するだけで「systemテーマ」または「親のrss2.xml」テンプレートが自動的に読み込まれていました。
しかし、Ver. 2.11.25からテンプレートの仕様が変更され、意図しないページでテンプレートが継承されないようになりました。
詳しくは公式ページをご覧ください。
https://developer.a-blogcms.jp/blog/news/template-21125.html
対策方法
- RSSフィードのURLを変更する
- カテゴリーに直接rss2.xmlのテンプレートを配置する
- Ver. 2.11.25以前の挙動に戻す
新規インストール時(Ver. 2.11.25以降)は基本的に1、2の方法を検討してください。
1. RSSフィードのURLを変更する
RSSフィードのURLを変更できる場合は
allow_tpl_pathを使用すると一括でrss2.xmlを例外設定できます。
private/config.system.yaml ファイル内の次の設定を修正します。
allow_tpl_path: [] ↓ allow_tpl_path: [rss2.xml]
これでURLに「tpl」を挟むことでどのカテゴリーでも表示可能になります。
https://masizime.com/tpl/rss2.xml https://masizime.com/blog/tpl/rss2.xml
2. カテゴリーに直接rss2.xmlのテンプレートを配置する
URLが変更できない場合は、該当カテゴリーに直接テンプレートを配置します。
必要なカテゴリー分テンプレート準備する必要があります。
内容が同じものを複数置くと管理が煩雑になるため、@extendsを使用すると良いです。
@extends("/rss2.xml")
3. Ver. 2.11.25以前の挙動に戻す
「forbid_tpl_inheritance_when_path_unresolved」をoffにします。
デフォルト設定は「off」なので、以前のバージョンからVer. 2.11.25以上にアップデートする場合は特に気にする必要はありません。
しかし、新規インストールの場合は以下のように設定を修正または削除する必要があります。
private/config.system.yaml ファイル内の次の設定を修正または削除します。
forbid_tpl_inheritance_when_path_unresolved: on ↓ #offに書き換えるか削除してください forbid_tpl_inheritance_when_path_unresolved: off
注意: セキュリティ的には「on」の方がよいので、可能であれば「1、2」方法を検討してください。
それでも難しい場合にoffにしてください。
以上、「a-blog cmsで特定のカテゴリーでrss2.xmlを表示する方法」でした。
最近はRSSをあまり使わないことも多いですが、カテゴリーでもRSSを表示させたい場合には参考にしてください。
関連するタグ
全 1 件中 1 〜 1 件目を表示
この記事を書いた人
たむら しょうご
HTML&CSSコーダー
ウェブアクセシビリティ対応、フロントエンド開発、CMSを利用したウェブサイト制作を担当しています。
趣味はガーデニングです。