我正在尝试使用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 ....
我等待你的建议
答案 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