0

我正在开发一个插件来处理我为 Joomla 3.3 开发的自定义组件

但是,在事件“onBeforeCompileHead”中触发基本代码时,我试图通过从数组中获取所有数据并在修改数据以添加我自己的信息后重新发送来更新 Joomla 3.3 生成的规范信息。

但是,根据 Joomla 编程指南(对于初学者)添加自定义代码时,我没有看到代码正在运行,也没有添加此测试所需的头部信息。

我的代码如下:

<?php
// no direct access
defined( '_JEXEC' ) or die( 'Restricted access' );

jimport('joomla.plugin.plugin'); 

class plgSystemCUSTOMPLUGIN extends JPlugin {

    function onBeforeCompileHead() {

        if ($this->params->get('site_url')) {

            $document = JFactory::getDocument();

            $headData = $document->getHeadData();

            $headData['metaTags']['standard']['revised'] = $this->params->get('site_url');

            $document->setHeadData($headData);

        } 

    }

}

我已经删除了 if 语句,它甚至没有达到这一点。我什至添加了一个基本的 PHP 邮件调用来发送测试电子邮件,如果这个功能被击中的话。

该插件作为“系统”插件安装。它正在将类加载到框架中,因为我可能会导致语法错误。我还检查过,Joomla 核心中的调度程序肯定正在加载事件。

有没有人知道这里发生了什么?

谢谢!

4

1 回答 1

2

我已经想通了。我的语言文件没有为插件使用正确的名称,这仅在类名如下时才有效:

class plgSystem[plugin_name] {

}

我现在按预期工作。

谢谢!

于 2014-10-14T14:17:45.077 回答