在一个自定义模块中,我写下面的内容。该模块位于页面顶部。
(650) 123-1232
950 Queen Dr Suite 110, Daly City CA, 94015
在另一个自定义模块中,我写了相同的内容,几乎没有变化,如下所示。该模块位于页面底部。
950 Queen Dr Suite 110, Daly City CA, 94015
(650) 123-1232
问题是我在自定义模块中一遍又一遍地重复相同的内容,并且可能会发生错误。所以我想做的是使用如下的短标签。
{phone}
{address}
如果我在自定义模块中编写如上所示的短标记,我希望它们在整个站点上替换为某些特定值。 {phone} with(650)123-1232和{address} with 950 Queen Dr Suite 110,Daly City CA,94015。假设值已在数据库中。
这可以通过编写Joomla插件来实现吗?或者我该怎么办?怎么办呢?
答案 0 :(得分:1)
如果为模块执行了插件,则可以使用此插件,例如
class plgContentShorttags extends JPlugin
{
public function onContentPrepare($context, &$row, &$params, $page = 0)
{
// Don't run this plugin when the content is being indexed
if ($context == 'com_finder.indexer') {
return true;
}
if (JString::strpos($text, '{phone}') !== false) {
$row->text = JString::str_ireplace('{phone}', '(650) 123-1232', $row->text);
}
if (JString::strpos($text, '{address}') !== false) {
$row->text = JString::str_ireplace('{phone}', 'your address', $row->text);
}
return true;
}
}
您只需要添加插件xml并安装它。您甚至可以向插件添加参数以通过后端设置详细信息
答案 1 :(得分:1)
ReReplacer - 在您的网站输出中搜索并替换。这可以完成工作。
ReReplacer是Joomla!支持您的组件和系统插件 替换你的Joomla中的任何东西!网站的输出与你无关 想。
ReReplacer将搜索您网页的文字(html)以供搜索 请求并将其替换为您告诉它要做的事情。这些 替换是即时的。这意味着它们不是永久性的。他们 每次您在网站上请求网页时都会完成。
这为您提供了操纵输出的巨大可能性和强大功能 你的网站。