ニュース一覧を表示できる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名を追加すればよいです。今回の場合は
<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を使っている場合
デフォルトのモジュールの設定を変更しても、日本語のモジュールの設定も変更しないと反映されないので注意。
まとめ
とりあえず目的は達せた。
他にいいエクステンションがあれば教えてください。