【发布时间】:2012-03-01 02:57:13
【问题描述】:
我已经“编写”了一个 Joomla 插件!我说“书面”是因为它实际上是别人的,但它是为 Joomla 1.5 设计的,我正在尝试升级它以在 Joomla 1.7 中运行。但是,它已安装并且不想运行。我试过让它无中生有地产生一个错误,但它不会给我任何东西。 我什至不确定它是否是 Joomla 1.7 代码,但我希望你也能提供帮助。
<?php
// no direct access
defined( '_VALID_MOS' ) or die( 'Restricted access' );
jimport('joomla.plugin.plugin');
class plgContentRegisteredTags extends JPlugin
{
function plgContentRegisteredTags (&$subject, $params)
{
parent::__construct($subject,$params);
}
function onPrepareContent ( $context, &$article, &$params, $page=0 )
{
global $mainframe;
//if ( !$published ) return true;
// define the regular expression for the bot
$regex1 = "#{reg}(.*?){/reg}#s";
$regex2 = "#{noreg}(.*?){/noreg}#s";
// perform the replacement
$article->text = preg_replace_callback(
$regex1,
create_function(
'$matches',
'global $my;
if($my->id) return $matches[1];
return "";'
),
$article->text
);
$article->text = preg_replace_callback(
$regex2,
create_function(
'$matches',
'global $my;
if(!$my->id) return $matches[1];
return "";'
),
$article->text
);
return true;
}
}
注意:它根本不想运行(没有错误,没有代码执行),即使它已启用并安装。
任何帮助将不胜感激。
【问题讨论】:
-
安装后的文件名和位置(相对于 joomla 根目录)?
-
我有一段时间没有使用joomla,但我记得组件文件的名称有命名约定。我认为应该是
componentname.php。所以应该是registeredtags.php而不是helloworld.php。 -
只是为了确定:您是否也启用了该组件?我也对您尝试访问插件的方式感兴趣。
-
好的,那么这个组件的意图是什么?访问组件的常用方法是直接通过
my.domain/index.php?option=com_registeredtags调用它们。但从你的定义看来,你想要一个插件而不是一个组件? -
插件有另一种安装清单 (xml) 格式。您应该查看有关创建这些文件的教程。另一个来源是您可以分析的其他插件的安装,因为新版本的文档通常很少。
标签: joomla joomla-extensions joomla1.7