开发模块joomla

时间:2013-03-01 12:48:53

标签: php jquery joomla mootools

我正在尝试使用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 ....

我等待你的建议

2 个答案:

答案 0 :(得分:1)

我不认为你在做什么是个好主意。如果您想使用jQuery,请将其包含在noconflict模式中,并使用jQuery代替$来引用它。

但是,无论如何,这是你想要的代码。 $this应该是JDocument对象,所以你需要先把它拿出来。

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

答案 1 :(得分:0)

我想你想编辑html文档属性。你得到错误,因为setHeadData()是一些Joomla类的方法。你不能在课外使用$ this。

尝试获取文档对象并像这样调用setHeadData:

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

无论如何,你可以同时使用jQuery和mootools。只需遵循以下文章:http://davidwalsh.name/jquery-mootools