我想编写仅显示"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扩展曼纳格尔安装它(成功),而不是启用它(成功)。
但是当我转到我的任何页面时,我看不到myPluing
的影响。
我还要做什么才能看到效果?
我已禁用缓存。
类命名不正确。对于Joomla调用插件类的方法,它必须遵循标准的命名约定。根据您的 xml 文件,您已经创建了一个系统插件,因此该类应按如下方式命名:
class plgSystemMyPlugin extends JPlugin{
这应该使它起作用(即经常死亡)!