logo
 

DittoスニペットでRSSフィードを自動生成

MODX標準搭載のDittoスニペットは、RSSフィードの自動生成も簡単です。Dittoスニペットで自動生成したRSSフィードから新着記事をTwitterに自動ツイートすることもできます。

RSSフィードの自動生成の設定例

たとえば、リソースID「9,28,33」配下のリソースの新着10件からRSSフィードを生成する場合は、以下のようにRSSフィード用のリソースを作成します。

1. リソースを作成し、下表のように設定します。

項目設定備考
タイトル サイト名  
説明(description) サイトの説明 通常のMETAタグのdescriptionに記述する内容
エイリアス rss.xml ファイル名。index.rdf、feed.xmlなどとしてもよいが、その場合、テンプレート内のRSSフィード指定も忘れずに。
テンプレート blank  
メニューに表示 無効 Wayfinder、Ditto、Breadcrumbsなどのスニペットに表示させないようにするときは、「無効」に。
内容 [!Ditto? &format=`rss` &parents=`9,28,33` &depth=`3` &display=`10` &orderBy=`pub_date DESC` &showInMenuOnly=`1`!] 各変数については、下記を参照。
ページ設定 「公開する」と「キャッシュをクリア」の2つだけをオン(その他はすべてオフ)  
コンテントタイプ application/rss+xml  

2. テンプレートの<head>?</head>内に下記のコードを挿入して、保存。

<link rel=”alternate” type=”application/rss+xml” title=”RSS 2.0” href=”[(site_url)]rss.xml” />

RSS生成用のDittoスニペットの変数について

  • format:出力形式。【必須】
  • parents:対象とする子ドキュメントが属する親ドキュメント。IDで指定。カンマで区切って複数指定可能。【必須】
  • depth:対象とする子ドキュメントの階層。「1」以上の整数で指定。デフォルトは、「1」。【必須】
  • display:表示するドキュメント数。デフォルトは、「3」。すべてのドキュメントを表示するには、「all」。上記の例は、「10件」。
  • language:ナビゲーションメッセージの言語。デフォルトは、「英語」。日本語にするには、「japanese-utf8」。【必須】
  • showInMenuOnly:メニューに表示している記事に限定するかどうか。デフォルトは、「0(限定しない)」。限定するには、「1」に。
  • orderBy:ソートのキーとするフィールドとソート順。デフォルトは、「createdon DESC(作成日時 降順)」。昇順にするには、「ASC」。上記の例は、「公開日」。 【必須】

orderByに使える主なリソース変数

リソース変数備考
[*createdon*] 作成日時。新しくリソースを作って保存した時点で割り振られる値。orderByのデフォルト。後で変更が効かないので、この値をRSSフィードに使うのは意味がないような・・・
[*editedon*] 更新日時。リソースを更新した時点で割り振られる値。RSSフィードには使えそうなのですが、ちょっとした微修正でも値が変わってしまうことにご注意を。
[*publishedon*] (再)公開日時。リソースを最終的に公開した時点で割り振られる値。いったん非公開にして再公開すると値が変わるため、微修正は無視して、大幅修正だけRSSフィードに反映させたいときに便利です。
[*pub_date*] 公開日時。リソース編集画面で設定した公開日時。現時点では公開せず未来の指定した日にリソースを公開するようなサイトには使えそうです。

MODXとは

新着情報

 
RSS