1. Приветствуем Вас на нашем закрытом форуме для складчиков сайта cmsheaven.org. Если Вы частный вебмастер, фрилансер, владелец малого или среднего бизнеса, представитель студии по разработке сайтов - будем рады видеть Вас в наших рядах экономных людей.
    Регистрация на форуме возможна только после вступления в складчину

SJ Filter for VirtueMart не работает

Тема в разделе "Вопросы по расширениям Joomla [тех. поддержка]", создана пользователем Skymanperm, 21 май 2015.

Статус темы:
Закрыта.
  1. Skymanperm

    Skymanperm Cкладчик

    Регистрация:
    21 май 2015
    Сообщения:
    10
    Симпатии:
    0
    Тема такая уже была, но она закрыта, вопрос то же:
    Установился модуль нормально, но когда в него заходишь. что то изменить не возможно.
    Предлагается в предыдущей теме: http://forum.cmsheaven.org/threads/955/
    в файле /administrator/components/com_virtuemart/models/category.php нужно заменить `#__virtuemart_categories_'.VmConfig::$defaultLang.' и #__virtuemart_categories_'.$lang.' на ваш префикс языка из базы - например `#__virtuemart_categories_en_gb

    Вот исходный код:
    INNER JOIN `#__virtuemart_categories_'.VmConfig::$defaultLang.'` as ld using (`virtuemart_category_id`)
    LEFT JOIN `#__virtuemart_categories_'.$lang.'` as l using (`virtuemart_category_id`)';

    Менять так:?
    NNER JOIN `#__virtuemart_categories_Ru_ru'` as ld using (`virtuemart_category_id`)
    Может кто по подробнее описать?
    Заранее огромное спасибо.
    И еще пишут про helper.php там что то тоже нужно менять?
    Последнее редактирование: 21 май 2015
    #1
  2. Skymanperm

    Skymanperm Cкладчик

    Регистрация:
    21 май 2015
    Сообщения:
    10
    Симпатии:
    0
    vmj_virtuemart_categories_ru_ru вот так выглядит в бд запись, по идее получаем
    INNER JOIN `#vmj_virtuemart_categories_ru_ru'.VmConfig::$defaultLang.'` as ld using (`virtuemart_category_id`)
    LEFT JOIN `#vmj_virtuemart_categories_ru_ru'.$lang.'` as l using (`virtuemart_category_id`)';
    Так?

    Не выходит =(///

    Так же заменил в модуле в helper.php
    $joinedTables[] = ' LEFT JOIN `#vmj_virtuemart_categories_ru_ru'.VMLANG.'` as c ON c.`virtuemart_category_id` = `pc`.`virtuemart_category_id`';
    Последнее редактирование: 21 май 2015
    #2
  3. Modi34

    Modi34 Свой человек

    Регистрация:
    31 окт 2014
    Сообщения:
    2.033
    Симпатии:
    720
    только `#__virtuemart_categories_ru_ru` без VMLANG и VmConfig::$defaultLang - собственно в изначальной теме я это и написал - вы видимо невнимательно прочитали... и заменять нужно везде где встретятся совпадения...
    вместо
    INNER JOIN `#__virtuemart_categories_ru_ru'.VmConfig::$defaultLang.'` as ld using (`virtuemart_category_id`)
    LEFT JOIN `#__virtuemart_categories_ru_ru'.$lang.'` as l using (`virtuemart_category_id`)';
    вот это
    INNER JOIN `#__virtuemart_categories_ru_ru` as ld using (`virtuemart_category_id`)
    LEFT JOIN `#__virtuemart_categories_ru_ru` as l using (`virtuemart_category_id`)';

    а вы вообще что-то страшное сотворили - ошибка в #vmj_ сложно понять что это и зачем... - подходите к правке файлов менее творчески...
    #3
    Skymanperm нравится это.
  4. Alex_19

    Alex_19 Матерый складчик

    Регистрация:
    21 май 2015
    Сообщения:
    144
    Симпатии:
    40
    Попробуйте так. Найдите следующий файл: modules\mod_sj_vm_filter\core\fields\sjvmcategories.php
    Найдите код:
    // set user language
    // $lang = JFactory::getLanguage();
    // JRequest::setVar( 'vmlang', $lang->getTag() );
    Замените на:
    // set user language
    // $lang = JFactory::getLanguage();
    // JRequest::setVar( 'vmlang', $lang->getTag() );
    VmConfig::loadJLang('com_virtuemart', true);
    VmConfig::loadConfig();
    #4
    Ярослав, Skymanperm и Modi34 нравится это.
  5. Skymanperm

    Skymanperm Cкладчик

    Регистрация:
    21 май 2015
    Сообщения:
    10
    Симпатии:
    0
    Ну вроде второй способ от Алекса помог, но при этом я так же заменил префиксы. Спасибо всем ;).
    #5
Статус темы:
Закрыта.