在VirtueMart中禁用MooTools

时间:2010-01-18 22:22:40

标签: joomla mootools virtuemart

我正在创建一个用于显示VirtueMart类别的自定义模块,但需要禁用VirtueMart来加载MooTools,因为它使用的MooTools比我需要的版本更旧。我到处搜索,但我似乎无法找到允许我禁用它的文件或功能。任何帮助将不胜感激。

5 个答案:

答案 0 :(得分:1)

至少在virtmart 1.5上去 组件/ com_virtuemart /主题/ YOURTHEME / theme.php 找到约37行,有一个函数:

function vmTheme() {
    parent::vmTemplate();
    vmCommonHTML::loadMooTools();
}

只需评论

vmCommonHTML::loadMooTools();

答案 1 :(得分:0)

整个项目中对它的唯一引用是在mod_virtuemart_currencies.xml中。我不是100%熟悉Joomla,但这看起来像是特定货币模块的安装程序文件。

我建议删除该模块,或更新对该XML文件中使用的MooTools库的引用(当前可用版本中的第30行,modules/mod_virtuemart_currencies_1.14.j15/mod_virtuemart_currencies.xml内)。

答案 2 :(得分:0)

我能够解决我的问题。我的自定义模块使用JHTML :: script()来加载我的JavaScript文件。该特定函数有一个默认为true的第三个参数,它将自动加载MooTools。您可以在此处查看文档:{​​{3}}

答案 3 :(得分:0)

如果没有这样做,请将其放在模板中,它将删除Joomla尝试使用的任何默认脚本。显然,这可能会删除Virtuemart正常工作所必需的东西,但它也可能解决您的问题。

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

答案 4 :(得分:0)

我为前端和后端创建了一个自定义组件,我不能(对于我的生活)禁用mootools。我尝试取消设置头数组和所有这些,但它没有用! 它适用于组件是常规文章的常规页面,但不适用于我的自定义组件。

我在我的模板中使用了JHTML :: script()函数,在阅读了其中一条评论之后,我尝试在函数中添加第二个参数(FALSE)并且它有效!

谢谢!!!

为什么从$ document变量的_scripts数组中取消设置mootools的想法不适用于自定义组件?