Не подключаются библиотеки jQuery
  • GoDrGoDr Ноябрь 2011
    в новой сборке Джустины перестали подключаться библиотеки jQuery к примеру Fancybox

    подключение делается следующим образом

    mosCommonHTML::loadJqueryPlugins('fancybox/jquery.fancybox');


    Была изменена функция в файле joostina.php. Если её поменять на прежнюю, то всё отлично работает.. Что-то не могу понять как это исправить.
  • ArkadiyArkadiy Ноябрь 2011
    Функция выглядит так:

    public static function loadJqueryPlugins($name, $ret = false, $css = false, $footer = '', $folder='') {
    $name = trim($name);
    $folder= (!empty($folder)) ? trim($folder).'/' : '';

    $path = JPATH_SITE.'/includes/js/jquery/plugins/'.$folder.$name;

    // если само ядро Jquery не загружено - сначала грузим его
    if (!defined('_JQUERY_LOADED')) {
    mosCommonHTML::loadJquery($ret);
    }
    // формируем константу-флаг для исключения повтороной загрузки
    $const = '_JQUERY_PL_' . strtoupper($name) . '_LOADED';
    if (!defined($const)) {
    define($const, 1);
    if ($ret) {
    $return = '

    if(_js_defines) {_js_defines.push(\''.$name.'\')} else {var _js_defines = [\''.$name.'\']}
    ';
    if ($css) {
    $return .= '';
    }
    return $return;
    } else {
    $mainframe = mosMainFrame::getInstance();
    $mainframe->addJS($path . '.js', $footer);
    $mainframe->addCustomHeadTag('if(_js_defines) {_js_defines.push(\'' . $name . '\')} else {var _js_defines = [\'' . $name . '\']}');
    if ($css) {
    $mainframe->addCSS($path . '.css');
    }
    }
    }
    return true;
    }

    Путь к файлам библиотеки

    $path = JPATH_SITE.'/includes/js/jquery/plugins/'.$folder.$name;


    Следовательно чтобы правильно подключить фансибокс с подключением файла стилей библиотекимы должны вызвать функцию так:

    mosCommonHTML::loadJqueryPlugins('jquery.fancybox', false, true, '', 'fancybox');
    Отредактированно Arkadiy в 2011-11-29 03:05:31
  • ArkadiyArkadiy Ноябрь 2011
    Если просто без стилей, то

    mosCommonHTML::loadJqueryPlugins('jquery.fancybox');
  • GoDrGoDr Ноябрь 2011
    отказывается подключаться.. как только не пробовал...
  • GoDrGoDr Ноябрь 2011
    подключается только со старой функцией
  • ArkadiyArkadiy Ноябрь 2011
    Я тоже пробоватл, но у меня почему-то подключается, что в генерируемой странице неправильно?
  • GoDrGoDr Ноябрь 2011
    вот прилипил последнюю версию своего модуля :) посмотри файл helper.php (148)
  • ArkadiyArkadiy Ноябрь 2011
    Так в модулях в голову ничего не пишется, только возвращать надо.
  • GoDrGoDr Ноябрь 2011
    ах вод где собака зарыта... точно, теперь идёт только возврат... хреновательно :)
    так.. и как поменять подключение?
  • GoDrGoDr Ноябрь 2011
    просто тупо через echo ? :)
  • GoDrGoDr Ноябрь 2011
    кто-то тут спрашивал почему слайд-шоу не работает.. именно по этой причине :)

    В общем тему можно закрывать..
  • ArkadiyArkadiy Ноябрь 2011
    echo mosCommonHTML::loadJqueryPlugins('jquery.fancybox', true, true, '', 'fancybox');

    Во как, я забыл, эта функция возвращает а не печатает, по этому при вызове надо печатать, ну и $ret = true для модулей.
    Отредактированно Arkadiy в 2011-11-29 04:24:33
  • ArkadiyArkadiy Ноябрь 2011
    Из-за кеширования такие навороты, там надо возвращать значение, иначе при вкл. кешировании все пойдет нафик.
  • GoDrGoDr Ноябрь 2011
    в общем уже разобрался... неудобно конечно. Для навороченных модулей приходится компонент пустой писать :)
  • ArkadiyArkadiy Ноябрь 2011
    Я пытался переделать вывод модулей, получилось, но такой гемор, что все оставил как есть.
  • GoDrGoDr Ноябрь 2011
    ладно, пусть в 1.3 будет как есть :)
    я вот тут собираюсь проект новый делать.. решил сразу 1.4 ставить.. а значит Аркадий держись, будем чинить и не по хилому ;)
  • GoDrGoDr Ноябрь 2011
    всё равно есть проблемы!!! Если больше одного раза подключать библиотеку, то выводится "1"
  • ArkadiyArkadiy Ноябрь 2011
    уберу
  • GoDrGoDr Ноябрь 2011
    всё равно как-то не корректно это работает.. у меня копия модуля подгружает библиотеку.. Библиотека существует уже, значит не подгружает.. но эффекты перестают работать
  • ArkadiyArkadiy Ноябрь 2011
    убрал.
  • GoDrGoDr Ноябрь 2011
    ps
    а вот формочку стоит поправить :)
    Отредактированно GoDr в 2011-11-29 05:30:29
  • ArkadiyArkadiy Ноябрь 2011
    а что на странице творится?
  • ArkadiyArkadiy Ноябрь 2011
    а вот формочку стоит поправить
    Какую?
  • GoDrGoDr Ноябрь 2011
    кто-то внедрил наконец-то панель редактирования в форму ответа. но удалив не нужный элемент не подправил стилевой файлик :) и теперь "КОд" находится на картинке "Цитата"
  • ArkadiyArkadiy Ноябрь 2011
    тот кто-то был я, цитаты и код стоят на месте, а подправить ничего нельзя, я могу только выключить или совсем удалить.
  • GoDrGoDr Ноябрь 2011
    на странице ничего не творится.. ошибок не вижу.. но в первом модуле всё работает идеально, а следующий модуль уже не обрабатывает эффекты fancybox

Добро пожаловать!

Похоже, что Вы здесь впервые. Если хотите поучаствовать, нажмите на одну из этих кнопок!

Войти Зарегистрироваться

В теме отметились