システムが出力する(例えば記事保存時など)メッセージをオーバーライドできるプラグインです。
インストール方法
使い方
簡単なプラグインですが、Joomla!1.5を操作していて一様に同じメッセージ表示なので変更できないかと思い作成しました。
通常のサイトなら必要ないでしょうが、一定規模のサイトなら今までコアを編集したりしていたのでは無いでしょうか。
Fluid 960 Grid SystemをJoomla!のテンプレート化しようと考えてみた。
ダウンロードするとき、たくさんのコメントが寄せられている中に1.0.2(ページ中程)があることに注意した方が良い。
以前に960 Grid Systemのことを書いたが、それ以来一度は試してみようと思ったものの何もしてきませんでした。今回その960 Grid Systemを使ってさらに拡張されたものが公開されていたので早速、少しJoomla!1.5のテンプレート化をはかろうとテンプレートフォルダに放り込んでみました。
もちろん、それだけでは記事も何も表示されません。そのシステムの内容が表示されるだけです。
言われてみればその通り、関連記事モジュールには表示件数の制限が無いためたくさんヒットしたらそのまま表示されてしまいます。考えてみればこのサイトではそれだと見た目も悪くなるし、少し内容も表示したかったのでオリジナルの関連記事モジュールを作成したことを忘れていました。
とりあえず、表示件数の制限をつけることくらいは簡単なので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する方法だとアップデート時に、忘れていたりしてかなり面倒になってきたりしますので、それを考慮にいれるとテンプレート側で対応する方法を行った方が良いかもしれません。
今回は、変更箇所を少し確認してから1.5デモサイトをアップデートしました。いくつかのXSS対策も今回適用されているようですので該当する使い方(ウェブリンクの投稿を許可していたり、Author以上のユーザーに投稿を許可している)をされているサイトは、すぐにアップデートした方が良さそうです。
今回のリリースであらためて気づいたのですが、テンプレートでオーバーライドできることにより、アップデートの内容によっては使用しているテンプレートにも影響するということです。みなさんがお使いのテンプレートでオーバーライドしているものがあれば確認が必要です。元のコンポーネントや、モジュールのテンプレートが変更されていれば、確認した方が良いと思います。
XMLファイル作成時によくあるのが
構文ミスなどよくありますよね。このツールを使えばテンプレートフォルダを指定するだけで
良いので忘れることはありません。
http://www.mediensozialismus.de/home.html←こちらのサイトで配布されています。
ただ・・・どうもcssフォルダとimagesフォルダのみを読み取るらしく他のフォルダ名を追加した場合は読み取ってくれません。その場合は手作業なのですが、どちらにしろ作業を軽減してくれるので大変便利です。
注意しないといけないのはiso-8859-1で出力されますから、日本語をXMLファイルに書き入れる場合は忘れずにUTF-8に変更しましょう。