Joomla 在VirtueMart中禁用MooTools
我正在创建一个用于显示VirtueMart类别的自定义模块,但需要禁用VirtueMart加载MooTools,因为它使用的MooTools版本比我需要的版本旧。我到处都搜索过,但似乎找不到允许我禁用它的文件或函数。任何帮助都将不胜感激。整个项目中对它的唯一引用是mod_virtuemart_currences.xml。我对Joomla不是100%熟悉,但这看起来像是一个特定货币模块的安装程序文件Joomla 在VirtueMart中禁用MooTools,joomla,mootools,virtuemart,Joomla,Mootools,Virtuemart,我正在创建一个用于显示VirtueMart类别的自定义模块,但需要禁用VirtueMart加载MooTools,因为它使用的MooTools版本比我需要的版本旧。我到处都搜索过,但似乎找不到允许我禁用它的文件或函数。任何帮助都将不胜感激。整个项目中对它的唯一引用是mod_virtuemart_currences.xml。我对Joomla不是100%熟悉,但这看起来像是一个特定货币模块的安装程序文件 我建议删除该模块,或者更新它在XML文件中使用的MooTools库的引用(当前可用版本中的第30行
我建议删除该模块,或者更新它在XML文件中使用的MooTools库的引用(当前可用版本中的第30行,在
modules/mod\u virtuemart\u currencies\u 1.14.j15/mod\u virtuemart\u currencies.XML
中)。我能够解决我的问题。我的自定义模块使用JHTML::script()加载我的JavaScript文件。该特定函数有第三个参数,默认为true,将自动加载MooTools。您可以在此处查看文档:如果这样做不起作用,请将其放入模板中,它将删除Joomla尝试使用的任何默认脚本。显然,这可能会消除Virtuemart正常工作所必需的东西,但也可能解决您的问题
<?php
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
$headers = $this->getHeadData();
$headers['scripts'] = array();
$this->setHeadData($headers);
}
?>
至少在virtuemart 1.5中,请转到 components/com_virtuemart/themes/YOURTHEME/theme.php 查找第37行,有一个函数:
function vmTheme() {
parent::vmTemplate();
vmCommonHTML::loadMooTools();
}
评论一下
vmCommonHTML::loadMooTools();
我为前端和后端创建了一个自定义组件,但我无法(用我的一生)禁用mootools。我尝试了取消标题数组和所有这些,但都没有成功! 它适用于组件是常规文章的常规页面,但当它是我的自定义组件时就不行了 我在模板中使用了JHTML::script()函数,在阅读了这里的一条注释后,我尝试向该函数添加第二个参数(FALSE),结果成功了 谢谢你
你知道为什么$document变量的_scripts数组中的mootools不能与自定义组件一起工作吗?谢谢zombat,但不幸的是,这并没有起到作用。我没有启用那个模块,删除它也没什么作用。它不在模块中,因为我没有启用任何模块,所以它必须在组件的某个地方。