a-blog cms rss2.xmlを特定のカテゴリで表示させる

以前のブログはこちら

広告

こんにちは。ましじめの田村です。

私が執筆した著書、『現場のプロから学ぶ CSSコーディングバイブル』は、Web制作の現場で役立つテクニックやノウハウをまとめています。
興味を持っていただけた方は、ぜひご覧ください。
https://amzn.to/3A8kNHC

このリンクは Amazon のアフィリエイトプログラムを通じて設定されています。

こんにちは、田村です。

今回は、特定のカテゴリーで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

対策方法

  1. RSSフィードのURLを変更する
  2. カテゴリーに直接rss2.xmlのテンプレートを配置する
  3. 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を利用したウェブサイト制作を担当しています。
趣味はガーデニングです。

ましじめのスキルが必要ですか?

遠慮なくご相談ください。我々はあなたのプロジェクトに最善を尽くし、あなたのウェブサイトの制作を強力にサポートいたします。

お問い合わせはこちらから