Перестали отображаться товары после русификации Joomla (News Show Pro gk5)

  • 5 Ответов
  • 3821 Просмотров

0 Пользователей и 1 Гость просматривают эту тему.

*

kolodiazniy

  • ***
  • 113
  • 13
Для вывода товаров VirtueMart на главную страницу сайта
использую модуль News Show Pro GK5 от Gavick.

После установки русского языкового пакета наблюдаются следующие глюки:
- если переключить язык лицевой панели сайта - News Show Pro GK5 тупо перестаёт отображать товары
- если переключить язык административной панели - поле указания категории товаров (в Data source) вообще исчезает.



На просторах сети натыкался на информацию, что проблема наблюдается и с модулем JoomlaXTC VirtueMart Category Wall.
Где же ошибка - в Русификации, в модуле или в VirtueMart?
« Последнее редактирование: 30.06.2014, 02:11:31 от fsv »

*

kolodiazniy

  • ***
  • 113
  • 13
Не поверите, но мне всё-таки удалось разобраться.
На поиск решения ушла неделя.
Вот детальное описание проблемы и схемы устранения.

ВВОДНЫЕ ЗНАНИЯ О КОМПОНЕНТАХ

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

Второе, что нужно знать:
компонент News Show Pro GK5 наделён возможностью работать с товарами VitrueMart чуть ли не с самой первой своей версии.
При этом, таблицу с перечнем категорий он подтягивает из базы данных по схеме:
стандартная структура таблиц VitrueMart + окончание, зависящее от настроек языка лицевой панели сайта.
Другими словами:
- если лицевая панель имеет найстройку "английский язык" - News Show Pro GK5 будет искать список категорий в virtuemart_categories_en_gb
- если лицевая панель имеет найстройку "русский язык" - News Show Pro GK5 будет искать список категорий в virtuemart_categories_ru_ru
- если лицевая панель имеет найстройку "сербский язык" - News Show Pro GK5 будет искать список категорий в virtuemart_categories_sr_rs
И так далее.

В ЧЁМ СУТЬ

Весь demo-контент из quickstart создан для английского языка, а соответственно записи VM сделаны в таблицах с окончанием en_gb, откуда их и берёт News Show Pro GK5.
При смене языка на русский
News Show Pro GK5 начинает искать данные в таблицах с окончанием ru_ru, которых просто не существует.

КОГДА ПРОЯВЛЯЕТСЯ

Столкнуться с проблемой можно лишь при изменении языка quickstart соответствующей темы.
Если делать сборку сайта самостоятельно (Joomla + Русификация + VitrueMart + создание товаров + шаблон + компонент) - проблема ВООБЩЕ не проявится.
Всё потому, что при установке VM на чистую Joomla - его таблицы будут созданы в зависимости от языкового пакета, и они же будут использоваться News Show Pro GK5.




КАК РЕШИТЬ ПРОБЛЕМУ

Если по каким-то причинам, вы хотите сохранить demo-данные, то для вас существует два способа.
Самый простой - обновить компонент News Show Pro GK5.
Начиная с версии 1.4.1 разработчкики сообразили, что язык сайта может отличаться от языка базы товаров.
На этот редкий случай в группу настроек VirtueMart Additional Settings
ими было добавлено новое поле - VM language override, дающее возможность указать окончание веток БД.



Учитывая, что даже самые последнии версии шаблонов поставляются с quickstart, собранном на версии компонента 1.2.2 -
увидеть это поле без обновления вам просто не суждено.
Из минусов - указание языкового окончания позволяет решить лишь проблему показа товаров на страницах сайта,
при этом возможность выбора категории в настройках компонента по-прежнему будет недоступна.
Видимо, мозгов разработчикам хватило лишь на лицевую панель.

Второй способ - переименовать таблицы БД.
Все ветки с окончанием en_gb должны быть переименованы в ru_ru.
Сделать это легко и просто - с помощью редактора баз данных. Например, phpMyAdmin.
Этот способ решает обе проблемы - как лицевой, так и административной панели.

Если же demo-данные вам не нужны (для опытных пользователей они - не более, чем хлам) -
вам нужно создать в БД новые таблицы, соответствующие вашей локализации (ru_ru) и набивать товары уже туда.
Сделать это очень просто - достаточно в настройках VM добавить нужный язык.



После этого все созданные ранее товары
уже не будут иметь значения и перестанут отображаться.
Они попросту пропадут, дав вам возможность создать новые.
Кстати, именно в этом причина столь распространённого на форумах вопроса "Почему при смене языка лицевой панели у меня пропали все товары?!" -
ранние версии VM добавляли магазину новый язык автоматически.

Более правильный способ - вообще удалить все demo-таблицы VM и провести его переустановку.
Сложного в этом ничего нет - это делается его собственными, так сказать штатными, средствами.




НУ И САМЫЙ ПРАВИЛЬНЫЙ СПОСОБ

САМЫЙ правильный способ - это конечно же собрать всё ручками.
То есть Joomla + Русификация + VitrueMart + создание товаров + шаблон + компонент.
Кстати, на официальном сайте VirtueMart есть возможность скачать специальную сборку Joomla, в которую магазин уже интегрирован.
Эта сборка изначально заточена под использование языковых пакетов, что немного облегчит жизнь пользователю:
1) при первом запуске и развёртывании VirtueMart, таблицы будут созданы в зависимости от языка, выбранного вами при установке,
даже если соответствующего языкового пакета ещё нет в системе.
2) после добавления языкового пакета все настройки интерфейса применятся автоматически.

Спасибо за внимание.
« Последнее редактирование: 06.06.2014, 17:17:15 от kolodiazniy »

Здравствуйте!
У меня небольшая проблема с модулем News Show Pro GK5 1.1.
В режиме Галерея продукции он не отображает цену товара на анимированном кружке.
Подскажите, что исправить?
Joomla 2.5, модуль русифицировала.

Нашёл более простое решение.
По крайне мере мне помогло.
Запускаем SQL Manager for MySQL
Выбираем таблицу, допустим ваш_virtuemart_categories_en_gb правой кнопкой копировать, устанавливаеи галочку копировать данные, но имя новой таблицы вводим ваш_virtuemart_categories_ru_ru
Тоже самое делаем со всеми остальными таблицами, которые привязаны к языку.

Подскажите пожалуйста, в чем может быть причина?
Установил QuickStart шаблон gk_storefront. На главной по умолчанию установлен модуль gk_tabs 5, который выводит демо-товары. При попытке заменить data source любого из tab'ов, или при добавлении нового tab'a главная страница превращается в вот это:
Спойлер
[свернуть]
В чем может быть причина ? Хочу выводить во вкладках tabs_5 категории VirtueMart посредством модуля NSP.

Только что проверил, та же ситуация и при выводе просто NSP без gk_tabs_5...
Переустановка модуля не помогает.
« Последнее редактирование: 25.05.2015, 03:33:39 от DeZDemon@ »

*

madcen

  • *
  • 1
  • 0
Тоже возникла проблема с этим модулем, сделала, как написано выше, но все равно не работает
Русифицировала Joomla, в VirtueMart выбрала русских язык, т.е. в базе кроме таблиц en_gb, есть еще и ru_ru
в настройках самого модуля, версия 1.8, VM language override прописала окончание веток БД ru-RU
Помогите, пожалуйста, не могу разобраться, почему не отображает товары