ニュース一覧を表示できるJoomlaエクステンション「AiDaNews」を使ってみた

昔、infoscoop.orgのトップページはニュースしか表示されていませんでした。
もっと昔は「infoScoopとは」しか表示されていませんでした。
本当は「infoScoopとは」と「ニュース」を両方表示したい。
でも、標準の最新記事表示モジュールはタイトル一覧しか表示できないから嫌だし、また例によって例のごとくJoomlaエクステンションを探してみました。

いろいろ探したところ、AiDaNewsがまあまあよさそうです。(その前にもいろいろ使って挫折しています。)
ただ、デフォルトのデザインがしょぼいのがいただけない。

がんばると、こんな感じになりました。(これでもがんばっています)

手順はJoomlaの他のエクステンションと同じで特に難しくありません。以下の手順で使えるようになります。

  • インストール
  • モジュール追加
  • いろいろ設定

以下に設定する際のポイントを記述しておきます。

日本語化

language/en-GB/en-GB.mod_aidanews.iniをlanguage/ja-JP/ja-JP.mod_aidanews.iniにコピー

下のほうの

F_READMORE = 続きを読む
F_MOREARTICLES = さらに記事を読む...

あたりを日本語にしておきます。
全部日本語化するのも大変ではないが、ユーザの目に付くところだけ日本語化。

AiDaNewsのモジュール設定で[Language Settings]>[Enable Lang file]をYesにします。

表示位置の指定

infoscoop.orgでは、ホームの記事の下にニュースを表示したかった。
loadpositionを使うと記事内の好きな場所にモジュールを表示できます。
AiDaNewsのモジュールをuser5というモジュール配置位置に配置して、user5はテンプレートでは表示しないようにしておいて、loadpositionで記事内に表示するというテクニックです。
ホームの記事の末尾に以下のように記述して、user5のモジュールを読み込みます。

<h1>News</h1>
<p>{loadposition user5}</p>

なお、表示しないモジュール配置位置を追加するには、テンプレートのtemplateDetails.xmlを編集します。
以下のような記述のところに使われていないposition名を追加すればよいです。今回の場合はuser5を追加します。

	<positions>
		<position>breadcrumb</position>
		<position>left</position>
		<position>user4</position>
		<position>footer</position>
		<position>user2</position>
	</positions>

英語と日本語の日付フォーマットの変更

infoscoop.orgは英語と日本語での多言語サイトをやってますので、日付フォーマットを英語と日本語で別のを使いたいです。
これは多言語化エクステンションJoom!Fishとの合わせ技になります。(もともとJoom!Fishは使っていました)
日本語のモジュールの設定で、[Title, Intro, Date, Author, Category]>[Date type]に日付フォーマットを指定します。
日付フォーマットはPHP: strftime - Manualに従います。
例えば、「%Y/%m/%d」のように指定します。

※日本語しか使わない場合は、デフォルトのモジュールの同じプロパティを編集すればよいです。

Joom!Fishを使っている場合

デフォルトのモジュールの設定を変更しても、日本語のモジュールの設定も変更しないと反映されないので注意。

まとめ

とりあえず目的は達せた。
他にいいエクステンションがあれば教えてください。