Отключить MooTools в VirtueMart - PullRequest
0 голосов
/ 19 января 2010

Я создаю пользовательский модуль для отображения категорий VirtueMart, но мне нужно отключить VirtueMart от загрузки MooTools, поскольку он использует более старую версию MooTools, чем мне нужно. Я искал везде, но я не могу найти файл или функцию, которая позволит мне его отключить. Любая помощь будет принята с благодарностью.

Ответы [ 5 ]

1 голос
/ 24 ноября 2010

По крайней мере, в virtuemart 1.5 зайдите в компоненты / com_virtuemart / themes / YOURTHEME / theme.php найдите строку около 37, есть функция:

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

Просто прокомментируйте

vmCommonHTML::loadMooTools();
0 голосов
/ 05 февраля 2011

Я создал пользовательский компонент для интерфейса и бэкенда и не смог (на всю жизнь) отключить mootools. Я попытался сбросить массив заголовков и все такое, и это не сработало! Он работал нормально для обычных страниц, где компонент был обычной статьей, но не тогда, когда это мой пользовательский компонент.

Я использовал функцию JHTML :: script () в своем шаблоне, и после прочтения одного из комментариев здесь я попытался добавить второй параметр (FALSE) в функцию, и это сработало!

Спасибо !!!

Есть идеи, почему удаление mootools из массива _scripts переменной $ document не работает с пользовательскими компонентами?

0 голосов
/ 19 января 2010

Мне удалось решить мою проблему. Мой пользовательский модуль использовал JHTML :: script () для загрузки моих файлов JavaScript. Эта конкретная функция имеет третий параметр со значением по умолчанию true, который автоматически загружает MooTools Вы можете увидеть документацию здесь: http://docs.joomla.org/Adding_JavaScript

0 голосов
/ 27 января 2010

Если этого не произойдет, вставьте это в свой шаблон, и он удалит любой из сценариев по умолчанию, которые Joomla пытается использовать. Очевидно, что это может убрать вещи, необходимые для правильной работы Virtuemart, но это может решить и вашу проблему.

<?php
$user =& JFactory::getUser();
if ($user->get('guest') == 1) {
    $headers = $this->getHeadData();
    $headers['scripts'] = array();
    $this->setHeadData($headers); 
}
?>
0 голосов
/ 19 января 2010

Единственная ссылка на него во всем проекте находится в mod_virtuemart_currencies.xml. Я не на 100% знаком с Joomla, но это похоже на файл установщика для конкретного модуля валюты.

Я бы предложил удалить этот модуль или обновить ссылку на библиотеку MooTools, которую он использует внутри этого файла XML (строка 30 в текущей доступной версии, внутри modules/mod_virtuemart_currencies_1.14.j15/mod_virtuemart_currencies.xml).

...