我想在Joomla 2.5中创建一个插件来更改已保存文章的标题。不幸的是它不起作用... onPrepareContent工作得很好,但我想做onContentSave ...
gcm.php
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
class PlgContentGcm extends JPlugin {
public function __construct(& $subject, $config) {
parent::__construct($subject, $config);
$this->loadLanguage();
}
public function onContentAfterSave($context, &$article , $isNew) {
$article->title = "Hello world!";
return false;
}
}
?>
gcm.xml
<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="plugin" group="content">
<name>plg_content_gcm</name>
<author>Joomla! Project</author>
<creationDate>November 2005</creationDate>
<copyright>Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.</copyright>
<license>GNU General Public License version 2 or later; see LICENSE.txt</license>
<authorEmail>admin@joomla.org</authorEmail>
<authorUrl>www.joomla.org</authorUrl>
<version>2.5.0</version>
<description>DESC</description>
<files>
<filename plugin="gcm">gcm.php</filename>
<filename>index.html</filename>
</files>
</extension>
也许有人可以帮助我。该插件已安装并激活。
答案 0 :(得分:0)
调用onContentAfterSave并更改标题不会影响保存到数据库的内容:文章已保存。如果要更改进入数据库的内容,则需要在onContentBeforeSave中执行此操作。或者,如果要在onContentAfterSave中执行此操作,则可以使用UPDATE-sql-statement手动更新数据库。
如果您只想查看onContentAfterSave是否被调用,请尝试:
public function onContentAfterSave($context, &$article , $isNew) {
print_r($article);
die();
}