昨日に引き続いて第二回は、とその前に前回の説明で少し・・・。メニュー設定ですが、レガシーでない設定でないと前回のメニューは作成されない事をここで補足しておきます。
さて、第二回は、ページカウンターを上の画像のように、変更してみます。Joomla!のデフォルトだと見た目が・・・アレなので、表示されていない方もたくさんおられるでしょうが、少し体裁というより表示する文字を、ランゲージファイルの変更をしないで変更してみます。
Joomla!のデフォルトのテンプレート(rhuk_milkyway)では、オーバーライドされていないのでまずは、オーバーライドテンプレートを作成します。(beezや、ja_purityでは、すべてでは無いかもしれませんが、オーバーライドされています。)
お使いのテンプレート/html/com_content/category
お使いのテンプレート/html/com_content/frontpage
お使いのテンプレート/html/com_content/section
(※すでにある場合は作成する必要はありません。)
言われてみればその通り、関連記事モジュールには表示件数の制限が無いためたくさんヒットしたらそのまま表示されてしまいます。考えてみればこのサイトではそれだと見た目も悪くなるし、少し内容も表示したかったのでオリジナルの関連記事モジュールを作成したことを忘れていました。
とりあえず、表示件数の制限をつけることくらいは簡単なのでHackか、テンプレートでやっちゃえば簡単です。
まずは、Hackなら
$db->setQuery($query);
を
$db->setQuery($query, 0, 20);
のように、最初(0)から20個の記事というように20の部分に表示最大件数を入れます。自由に設定できるようにしたい場合は、
$db->setQuery($query, 0, intval($params->get('limit', 20)));
のようにし、xmlファイルのパラメータ部に
<param name="limit" type="text" size="3" label="最大件数" description="" />
などと追加すればバックエンドで最大件数が設定できるようになります。
ではテンプレート側でやるには
mod_related_items/tmpl/default.phpとindex.htmlを、使っているテンプレートフォルダ/html/mod_related_itemsにコピーします。そしてコピーしたdefault.phpを編集します。
<?php foreach ($list as $item) : ?>
を
<?php
$i = 0;
foreach ($list as $item) :
if($i > 20){
break;
}
$i++;
?>のようにすればOKです。
本体をHackする方法だとアップデート時に、忘れていたりしてかなり面倒になってきたりしますので、それを考慮にいれるとテンプレート側で対応する方法を行った方が良いかもしれません。