0

jqueryを使用して単純なモジュールを開発しようとしていますが、mootoolsを無効にしたいです。default.phpファイルでこのコードを使用しようとしています

 $user =& JFactory::getUser();
    if ($user->get('guest') == 1) {
    $headerstuff = $this->getHeadData();
    $headerstuff['scripts'] = array();
    $this->setHeadData($headerstuff); }

    <jdoc:include type="head" />

しかし、私はこのエラーを受け取ります:オブジェクトコンテキストにないときに$thisを使用しています...。

私はあなたの提案を待ちます

4

2 に答える 2

1

あなたがしていることは良い考えではないと思います。jQueryを使用する場合は、jQueryを競合なしモードに含め、参照するjQuery代わりに$を使用します。

しかし、いずれにせよ、これはあなたが望んでいたコードです。$thisオブジェクトであるはずだったので、JDocument最初に取得する必要があります。

 $user = JFactory::getUser();
if ($user->get('guest') == 1) {
    $doc = JFactory::getDocument();
    $headerstuff = $doc->getHeadData();
    $headerstuff['scripts'] = array();
    $doc->setHeadData($headerstuff);
}
于 2013-03-01T12:59:15.360 に答える
0

HTMLドキュメントのプロパティを編集したいと思います。setHeadData()はいくつかのJoomlaクラスのメソッドであるため、エラーが発生します。クラス外で$thisを使用することはできません。

ドキュメントオブジェクトを取得して、次のようにsetHeadDataを呼び出してみてください。

    $doc =& JFactory::getDocument();
    $doc->setHeadData($headerstuff);

とにかく、jQueryとmootoolsを同時に使用できます。この記事に従ってください:http://davidwalsh.name/jquery-mootools

于 2013-03-01T12:58:32.067 に答える