如何覆盖Joomla系统消息 - message.php模板

Kri*_*ndt 5 joomla joomla2.5 joomla3.1

Joomla默认呈现其系统消息(错误,通知等)

libraries/joomla/document/html/renderer/message.php.

对于我自己的模板,我想自定义这些消息的显示方式.但是,使用模板覆盖以传统方式似乎不可能.

这里有人知道如何完成这样的事情吗?

小智 19

对于Joomla!1.7 - 2.5

你需要复制libraries/joomla/document/html/renderer/message.phptemplates/YOUR_TEMPLATE/html/message.php

然后在YOUR_TEMPLATE的index.php中,您需要包含该文件(因为它不会像其他覆盖一样自动包含):

// Message overwrite
require_once JPATH_ROOT .'/templates/'. $this->template .'/html/message.php';
Run Code Online (Sandbox Code Playgroud)

现在你可以安全地覆盖JDocumentRendererMessage::render()那里的功能;)

对于Joomla!3.X

你只需要在YOUR_TEMPLATE中制作html/message.php文件.该文件应包含函数renderMessage().例如,检查isis默认模板.

  • 在J3.x:将"message.php"放在"{my_template}/html/layouts/joomla/system"中并从$ displayData ['msgList']中提取消息(检查Beez3模板) (3认同)

Cra*_*aig 0

模板覆盖仅适用于MVC-ie 视图和模块镶边

在不破坏核心的情况下,您所能做的就是控制模板中的标签周围包含哪些 HTML 标签以及为消息<jdoc:include type="message" />块的元素定义的 CSS 。