Joomla 2.5 - 自己的插件没有效果(已成功安装和启用)

时间:2014-02-28 18:45:34

标签: php joomla joomla2.5 joomla-extensions

我想编写只显示“PAGE MOVED”文本而非页面的插件。

我创建了一个文件夹myPlugin

在内部,我放了myPlugin.xml

<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="plugin" group="system">

    <name>myPlugin</name>
    <creationDate>Creation date</creationDate>
    <author>Your name</author>
    <authorEmail>Your e-mail address</authorEmail>
    <authorUrl>Your website</authorUrl>
    <copyright>Copyright information</copyright>
    <license>All rights reserved.</license>
    <version>Version of the plugin</version>
    <description>Description of the plugin</description>

    <files>
       <filename plugin="myPlugin">myPlugin.php</filename>
    </files>

</extension>

myPlugin.php

<?php

defined('_JEXEC') or die('Restricted access');

class myPlugin extends JPlugin{
    public function __construct(& $subject, $config){
        parent::__construct($subject, $config);
        $this->loadLanguage();
    }

    public function onAfterRoute() {
         die("PAGE MOVED"); //no effect
    }

    public function onAfterRender() {
        die("PAGE MOVED"); //no effect
    }

    public function onBeforeRender(){
        die("PAGE MOVED"); //no effect
    }
};

我从中做了myPlugin.zip

我通过Joomla Extension Mannager(成功)安装它,而不是启用它(成功)。

但是当我去任何一个页面时,我发现myPluing没有效果。

我还需要做些什么才能看到效果?

我已停用缓存。

1 个答案:

答案 0 :(得分:1)

该类未正确命名。要让Joomla调用插件类的方法,它必须遵循标准命名约定。根据您的xml文件,您已经创建了一个系统插件,因此该类的名称应如下所示:

class plgSystemMyPlugin extends JPlugin{

那应该让它起作用(即经常死)!