1

シンプルなプラグインを Joomla 2.5 インストールにデプロイしようとしています。クラス宣言の外側にあるプラグインのコードが実行され、2 つのスクリプト タグがヘッドに追加されます。ただし、内部のコードは何もしません。$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のドキュメントとチュートリアルは少し古くなっており、新しいフレームワークによっていくつかの変更が加えられました。適切な署名を見つけるには、/plugins/content/...ファイルを確認するだけです。

以下は、の適切な関数シグネチャとphpdocです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 に答える
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 に答える