2

我正在开发一个 Joomla 插件。不幸的是,没有触发必要的事件。这意味着以下代码永远不会被执行:

public function onContentAfterSave($context, &$article, $isNew)
{
 ....
}

我像往常一样开发了插件。所有其他使用的事件都可以正常工作。这可能是内部 Joomla \ PHP 错误还是我遗漏了什么?

Apache/2.2.4 (Win32) mod_ssl/2.2.4 OpenSSL/0.9.8k PHP/5.3.3

Joomla!2.5.4 稳定 [Ember] 2012 年 4 月 2 日 14:00 GMT

4

2 回答 2

4

.xml 文件中的插件名称和 .php 文件中的插件名称可能不匹配。

[插件名称].php

<?php

defined('_JEXEC') or die;

jimport('joomla.event.plugin');  // I've also seen joomla.plugin.plugin.
                                 // Perhaps and older version
class plg[PluginGroup][PluginName]
{
    public function onContentAfterSave( $context, &$article, $isNew  )
    {
      // $db = JFactory::GetDBO();
      // etc...
    }
}
?>

[插件名称].xml

<?xml version="1.0" encoding="UTF-8"?>
<extension type="plugin" version="2.5.0" group="[PluginGroup]">
<name>[PluginName]</name>
<version>0.0.1</version>
<author></author>
<creationDate></creationDate>
<copyright></copyright>
<license></license>
<authorEmail></authorEmail>
<authorUrl></authorUrl>
<description></description>
<files>
  <filename plugin="[PluginName]">[PluginName].php</filename>
  <filename>[PluginName].xml</filename>
  <filename>index.html</filename>       
</files>
</extension>

否则,请发布更多信息:

  1. 您的 [pluginname].php 和 [pluginname].xml 文件中还有什么。
  2. 您是否正确安装了插件?
  3. 安装后发布插件了吗?
于 2012-05-24T23:09:43.747 回答
0

您是否确定安装并启用了该插件?尤其是后者,很容易忘记。

于 2012-04-19T18:34:00.083 回答