2016-01-30 7 views
0

Я хочу создать плагин в Joomla 2.5, который изменяет название сохраненной статьи. К сожалению, это не работает ... onPrepareContent работает хорошо, но я хочу сделать onContentSave ...Joomla 2.5 Плагин 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>[email protected]</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

вызов onContentAfterSave и изменение названия не повлияет на то, что сохраняется в базе данных: статья уже сохранена. Если вы хотите изменить то, что входит в базу данных, вам нужно сделать это в onContentBeforeSave. Или, если вы хотите сделать это в onContentAfterSave, вы можете обновить базу данных вручную с помощью UPDATE-sql-statement.

Если вы просто хотите увидеть, если onContentAfterSave называется, попробуйте:

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

ааа спасибо :) Теперь это работает, как я хочу – WhoAmIReally