我正在尝试创建一个Joomla 1.7内容插件,最终,将发送电子邮件时,一个全新的文章已经创建在后端。我的插件,虽然它安装正确,似乎没有正确发射。我修改了插件,以便在创建新文章时,取消保存事件并显示错误消息。这并没有发生,文章被保存得很好。我是不是漏掉了什么明显的东西?我甚至尝试在onBeforeContentSave()
方法中添加die()
和mail()
命令,但它从未执行过。
notifyy.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="1.7" type="plugin" group="content">
<name>Content - Notifyy</name>
<author>Andy Soell</author>
<creationDate>August 1, 2011</creationDate>
<copyright></copyright>
<authorEmail>my@email.com</authorEmail>
<authorUrl>http://andy.teamsoell.com</authorUrl>
<version>1.0</version>
<description>Notification for new articles</description>
<files>
<filename plugin="notifyy">notifyy.php</filename>
</files>
</extension>
notifyy.php
jimport( 'joomla.plugin.plugin' );
class plgContentNotifyy extends JPlugin {
function plgContentNotifyy( &$subject, $params )
{
parent::__construct( $subject, $params );
}
function onBeforeContentSave( &$article, $isNew )
{
global $mainframe;
$article->setError("i don't want to save this");
return false;
}
}
我觉得自己很傻,但是Joomla的站点确实需要更好地记录版本之间的变化。从1.5版本到1.6版本,方法名称似乎发生了变化,它们的文档仍然显示1.5版本的名称。onBeforeContentSave()
方法现在被引用为onContentBeforeSave()
。
详情见:http://www.theartofjoomla.com/converting-old-extensions.html
joomla开发人员文档确实包含重命名事件的信息。
见:http://docs.joomla.org/Adapting_a_Joomla_1.5_extension_to_Joomla_1.6 Renamed_events