Joomla!1.5でRSSを公開する
概要:
Joomla!1.5では、RSSを公開するためのモジュールが標準でインストールされます。
そのため、基本的に何もすることなくRSSの配信が行えていることもあります。
あらためて、Joomla!1.5でのRSSの表示の仕組みを簡単に記述したいと思います。
もっと、Joomla!やPHP、Apacheについて詳しく知りたい方は、以下の本なども良いと思います。
本から学ぶことは多いと思います。ネットだけでは判らない様々な事に気づかされます。
RSSとは、サイトの更新情報を簡単にまとめ、配信するためのフォーマットを指します。
「RSSで更新情報を書き込んだ情報を公開する」ことを、ここでは、単純に「RSSを公開する」と表現しています。
RSSを公開するには
Joomla!の管理(admin)画面から、
[ エクステンション ] - [ モジュール管理 ] -[ Syndication ]
を有効にするだけです。
モジュールの共通的な設定情報にメニューアイテムに対しての有効・無効を指定することはできますが、
個別のパラメータらいしいものは、ほとんどありません。
ここで設定できるのは、以下のパラメータです。
パラメータ名 | 解説 |
テキスト | RSSリンクでサイトに表示するときのテキスト名を指定します |
フォーマット | RSSのフォーマット(バージョン)を指定します |
モジュールクラス | このモジュールのサフィックス名 |
ほぼ、初期値のままで良いと思います。
特別にフォーマットを2.0以外に指定したい場合や、表示の文字列を変更したい場合などは、ここで設定します。
さて、このモジュールを有効したら、全ての記事で、有効になると思えば、そうではありません。
このモジュールは、自動で作成してくれるRSS情報は、
各セクション、各カテゴリ、フロントページです。
(記事、アーカイブおよびエクステンションでは、RSSのリンクは表示されません。)
このモジュールを有効にしたのに、RSSのリンクが表示されない・・・と思われている方がいらっしゃれば、
セクションリストを表示するメニューアイテムを一つ作ってみてください。
そして、そのメニューをクリックしセクションリストを表示してみてください。
おそらく、RSSのマークとリンクの表示が現れることと思います。
FireFoxの場合は、以下のようにURLアドレスバーにRSSのマークが表示されていると思います。
また、ページのどこかにも同じようにRSSのマークおよびリンクがあると思います。
(テンプレートで表示しないようにしていない限りにおいては)
RSSのリンクアドレスは、基本的に以下のようになります。
http://www.exmaple.com/index.php?option=com_content&view=section&id=xx&format=feed&type=rss
http://www.exmaple.com/index.php?option=com_content&view=category&id=yy&format=feed&type=rss
id=xx:xxはセクションID
id=yy:yyはカテゴリID
|
セクションやカテゴリのリスト表示ページ以外にも、このRSSへのリンクを表示したい場合は、基本的にカスタムHTMLのモジュールを
作成して、イメージ(画像)と上記リンクURLを設定して、追加したページに貼り付けると良いと思います。
一応、以降に「RSSのリンクを表示するか否かの仕組み」を記載しておきますので、個別にプログラミングすることで
全ての記事への表示もできなくもないとは思います。
RSSのリンクを表示するか否かの仕組み
RSSのリンクを表示するか否かの仕組みは、至って単純です。
各セクション、各カテゴリ、フロントページのメニューアイテムのパラメータに
フィードリンクを表示 というパラメータがあります。それを"●はい"と指定すれば、RSSのリンクが
そのメニューアイテムのリンク先ページに表示されます。
以下は、フロントページのメニューアイテムでの
フィードリンクを表示パラメータの画面イメージです。
RSSのリンクを表示したい場合は、"●はい"を指定します。
プログラムの簡単な流れは、以下のような流れで表示処理を行っています。
- コンポーネントのコンテンツ(com_content)で、フィードリンクを表示 が"●はい"の場合、HTMLのリンク情報へRSS情報を追加します。
--- 実際には、以下のような情報を出力します。
1
2
| <link href="/xxxx.feed?type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
<link href="/xxxx.feed?type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
|
参照php
- components/com_content/views/frontpage/view.html.php
- components/com_content/views/section/view.html.php
- components/com_content/views/category/view.html.php
- モジュールのシンジケート(mod_syndicate)で、先のリンク情報があるか判断します。
リンク情報があれば、RSSのリンク情報を作成し、HTMLへ出力します。
参照php
- modules/mod_syndicate/mod_syndicate.php
- modules/mod_syndicate/helper.php
上記のような流れですので、記事の展開の中で、HTMLのリンク情報へRSS情報を追加すれば、RSSへのリンクは常に表示されるようになると思います。
ただ、"単純にRSSが公開されていることをお知らせ"する程度のためだけに、全ての記事へRSSのリンクを表示したいだけなら、カスタムHTMLでも十分かもしれません。
コメントをどうぞ