デフォルトでは、Joomla はシステム メッセージ (エラー、通知など) を
libraries/joomla/document/html/renderer/message.php
.
私自身のテンプレートでは、これらのメッセージの表示方法をカスタマイズしたいと考えています。ただし、テンプレートのオーバーライドを使用する従来の方法では可能ではないようです。
このようなことを達成する方法を知っている人はいますか?
オーバーライドをテンプレート ディレクトリに含めるより洗練された方法は、ファイルをシステム プラグインに含めることです。
public function onAfterInitialise() {
$app = JFactory::getApplication();
if ($app->isSite()) {
$template = $app->getTemplate();
if (!class_exists('JDocumentRendererMessage') && file_exists(JPATH_THEMES . '/' . $template . '/html/message.php')) {
require_once JPATH_THEMES . '/' . $template . '/html/message.php';
}
}
return true;
}
テンプレートのオーバーライドは、MVC、すなわちビューとモジュール chromeでのみ機能します。
コアをハックせずにできることは、テンプレート内のタグをラップする HTML タグと、メッセージブロック<jdoc:include type="message" />
の要素に対して定義された CSS を制御することだけです。