1

我正在尝试将一个简单的插件部署到 Joomla 2.5 安装中。类声明之外的插件中的代码运行并将两个脚本标签添加到头部。但是,其中的代码什么也不做。我无法更改 $article->title 或 $article->text。我从不同的文章中逐字复制和粘贴,但似乎一切都只谈论 1.5。我发现的 1.7 内容只提到将 onPrepareContent 更改为 onContentPrepare。两者似乎都没有做任何事情。我将不胜感激任何帮助!

    <?php
    // No direct access.
    defined( '_JEXEC' ) or die( 'Restricted access' );

    class plgContentPicasaGallery extends JPlugin
    {
        /**
         *
         * @param   string  The context of the content being passed to the plugin.
         * @param   mixed   An object with a "text" property.
         * @param   array   Additional parameters.
         * @param   int     Optional page number. Unused. Defaults to zero.
         * @return  boolean True on success.
         */
        public function onContentBeforeDisplay($context, &$article, &$params, $page = 0)
        {

            if (is_object($article)) {
                $article->text = "omfg, wtf?";
                return true;
            } else {
                $article = "omfg, I'm not an object, wtf?";
                return true;
            }
        }

    }
4

3 回答 3

2

Joomla documentation & tutorials a little bit out dated, new framework changed few things. To find proper signatures simply look at /plugins/content/... files.

Below is proper function signature & phpdoc for onContentPrepare.

/**
 * @param   string  The context of the content being passed to the plugin.
 * @param   object  The article object.  Note $article->text is also available
 * @param   object  The article params
 * @param   int     The 'page' number
 */
public function onContentPrepare($context, &$article, &$params, $page = 0)
{
   ...
}
于 2012-04-11T18:49:28.067 回答
1

我对 Joomla 的冷漠压倒了我的理智。我正在编辑服务器上的插件文件,我期待更新插件。谢谢您的帮助!

于 2012-04-12T17:50:01.717 回答
0

你可以使用这个方法

jimport('joomla.form.helper');
$urla= JRequest::getVar('id');
$urlview= JRequest::getVar('view');
if ($urlview=='article')
{}
if ($urla==10<- number id article )
{}

我知道框架 joomla 很好,但它用于理解方法

于 2012-10-30T07:28:35.463 回答