【问题标题】:Joomla Plugin not running (is installed)Joomla 插件未运行(已安装)
【发布时间】: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


【解决方案1】:

Joomla 中的插件!相对于站点根目录存储在plugins/plugin-type/plugin_name/ 中。组件存储在components/ 目录中。

例如。分页内容插件位于“plugins/content/pagebreak/”并包含文件:

plugins/content/pagebreak/pagebreak.php
plugins/content/pagebreak/pagebreak.xml
plugins/content/pagebreak/index.html          // not an active file

你可以阅读creating a content plugin here.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-11
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多