d3pipes で RSS を再配信


このブログと携帯百景をまとめて RSS にしたかったので d3pipes をインストールしました。ひさびさの XOOPS ネタです。:grin:

インストール自体は普通に。D3 モジュールなので XOOPS_TRUST_PATH あたりに気をつけつつ。あと ALTSYS も必須。インストールが終わったら管理画面から新規パイプをウィザードで追加します。ちゃんと取れないよ?と言われたときは文字コードを指定してあげれば取り込めるようになりました。基本的にはこれで終了。特にやることはありません。もちろんアクセス権限等の設定はお忘れ無く。

お目当ての RSS はお好みの記事一覧(?)が表示されているページの右上に配置されている feed ボタンからリンクされてます。基本的にはモジュールトップになるでしょう。

で、まぁ、これでおしまいだとこんなエントリ書く必要もないわけで。:roll:

携帯百景の場合、記事のタイトルの先頭にユーザ名がついてきます。が、ずらっと並ぶとちょっと目障りです。というわけでユーザ名を削除しようとしたんですが、どうもうまくいきません。

d2pipes にはテキスト置換の機能があるんですが、置換のパターンと置換文字列の指定方法がわかりません。ダブルクォーテーションで囲みつつカンマ区切り?かと思ったんですがどうも違うッポイ。というかタイトル部分を置換できるのか?という根本的なところも不明なのであきらめかけたんですが、最終的な出力のテンプレートをいじってなんとかしました。

具体的には

- <title><{$entry.headline|escape}></title>
+ <title><{$entry.headline|escape|replace:"takafumi - ":""}></title>

こんな感じ。「ユーザ名半角スペースマイナス記号半角スペース」をパターンに指定して置換文字列をカラにしました。全部の記事に対して置換が実行されますが、まぁ大丈夫でしょう。てかSmarty ってパイプでつないでいけるのね。

ついでに description にはタグしか入ってないのでタイトル部分を表示しよう、とやってみたんですが、これやっちゃうとブログ記事のほうも内容部分が書き換えられちゃうので断念。いったん取り込んで Atom へ書き出すときに description の内容を $entry.headline にして、だといけそうですが…それもねぇ?

てかそもそもテンプレートで何とかする、しかも置換、ってのが激しく間違ってる気がしますが…。:oops:


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です