首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >joomla模块的开发

问joomla模块的开发
EN

Stack Overflow用户
提问于 2013-03-01 20:48:53
回答 2查看 85关注 0票数 0

我正在尝试使用jquery开发一个简单的模块,但我想禁用mootools。我尝试在default.php文件中使用此代码

代码语言:javascript
复制
 $user =& JFactory::getUser();
    if ($user->get('guest') == 1) {
    $headerstuff = $this->getHeadData();
    $headerstuff['scripts'] = array();
    $this->setHeadData($headerstuff); }

    <jdoc:include type="head" />

但我得到了这样的错误:当不在对象上下文中时使用$this ...

我等待你的建议

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-01 20:59:15

我不认为你正在做的事情是个好主意。如果您想使用jQuery,那么在无冲突模式中包含它,并使用jQuery而不是$来引用它。

但是,无论如何,这就是您想要的代码。$this应该是一个JDocument对象,所以你需要先获取它。

代码语言:javascript
复制
 $user = JFactory::getUser();
if ($user->get('guest') == 1) {
    $doc = JFactory::getDocument();
    $headerstuff = $doc->getHeadData();
    $headerstuff['scripts'] = array();
    $doc->setHeadData($headerstuff);
}
票数 1
EN

Stack Overflow用户

发布于 2013-03-01 20:58:32

我猜你想要编辑html文档属性。因为setHeadData()是某个Joomla类的方法,所以会出现错误。你不能在类之外使用$this。

尝试获取文档对象并调用setHeadData,如下所示:

代码语言:javascript
复制
    $doc =& JFactory::getDocument();
    $doc->setHeadData($headerstuff);

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15158188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档