Joomla 2.5插件onContentSave无法正常工作

时间:2016-01-30 18:17:22

标签: joomla joomla2.5 joomla-extensions

我想在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>

也许有人可以帮助我。该插件已安装并激活。

1 个答案:

答案 0 :(得分:0)

调用onContentAfterSave并更改标题不会影响保存到数据库的内容:文章已保存。如果要更改进入数据库的内容,则需要在onContentBeforeSave中执行此操作。或者,如果要在onContentAfterSave中执行此操作,则可以使用UPDATE-sql-statement手动更新数据库。

如果您只想查看onContentAfterSave是否被调用,请尝试:

public function onContentAfterSave($context, &$article , $isNew) {
  print_r($article);
  die();
}