0

在一个自定义模块中,我编写了如下内容。这个模块放置在页面的顶部。

(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} 与 (650) 123-1232 和 {address} 与 950 Queen Dr Suite 110, Daly City CA, 94015。假设值已在数据库中。

这可以通过编写 Joomla 插件来实现吗?或者我应该怎么做?如何才能做到这一点?

4

2 回答 2

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 并安装它。您甚至可以向插件添加参数以通过后端设置详细信息

于 2013-03-13T08:14:28.970 回答
1

ReReplacer - 在您的网站输出中搜索和替换。这可以完成工作。

ReReplacer 是一个 Joomla!组件和系统插件,使您能够替换 Joomla 中的任何内容!网站的输出随心所欲。

ReReplacer 将在您的页面的文本 (html) 中搜索您的搜索请求,并将其替换为您告诉它执行的操作。这些替代品是即时的。这意味着它们不是永久性的。每次您在网站中请求网页时,它们都会完成。

这为您提供了操纵站点输出的巨大可能性和能力。

于 2013-03-13T08:20:57.173 回答