VM 2.x Virtuemart, язык и установленные demo-данные

Статус
В этой теме нельзя размещать новые ответы.

dwarf

Постоялец
Регистрация
12 Июн 2011
Сообщения
88
Реакции
19
Использовался готовый шаблон для Joomla и Virtuemart c установленными английскими демо-данными.
Сразу установил ru_RU языковые пакеты для админки и сайта, но при переводе сайта на язык ru_RU в админке Virtuemart появляются sql ошибки такого вида

Код:
vmError: exeSortSearchListQuery Table 'ccco.ccco_virtuemart_products_ru_ru' doesn't exist SQL=SELECT SQL_CALC_FOUND_ROWS l.`virtuemart_product_id` FROM `ccco_virtuemart_products_ru_ru` as l JOIN `ccco_virtuemart_products` AS p using (`virtuemart_product_id`) group by p.`virtuemart_product_id` ORDER BY product_name DESC LIMIT 0, 9
vmError: exeSortSearchListQuery Table 'ccco.ccco_virtuemart_categories_ru_ru' doesn't exist SQL=SELECT c.`virtuemart_category_id`, l.`category_description`, l.`category_name`, c.`ordering`, c.`published`, cx.`category_child_id`, cx.`category_parent_id`, c.`shared` FROM `ccco_virtuemart_categories_ru_ru` l JOIN `ccco_virtuemart_categories` AS c using (`virtuemart_category_id`) LEFT JOIN `ccco_virtuemart_category_categories` AS cx ON l.`virtuemart_category_id` = cx.`category_child_id` WHERE cx.`category_parent_id` = 0 ORDER BY category_name ASC

Как я понимаю, при установке virtuemart должен создать таблицы в БД для нужной локали?
Подскажите пожалуйста, как грамотно решить эту ситуацию?
 
Попробовать погуглить, яндексить, и т.п.
Установить русские языковые пакеты для джумлы, марта, установить русский по умолчанию, добавить язык контента русский с правильными префиксами.
Выбрать в мартке русский язык в настройках

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

После всего этого создадутся таблицы **ru_ru

Если честно, изгуглился, но не нашел ничего толкового. Поэтому и задаю вопрос.
Языковые пакеты для Джумлы и Виртуемарта скачал официальные, установил правильно, через менеджер расширений.
По умолчанию устанавливаю и для сайта и для админки русский.
Язык контента создал ru-RU, перепроверил префиксы, но таблицы все равно не создаются, хоть ты тресни.
Сейчас полезу в код Virtuemart, буду искать SQL запросы, которые их создают, может получится создать вручную, но этого очень не хотелось бы
 
Можно попробовать скачать БД и автозаменить все en_gb на ru_ru
 
Попробуйте после установки везде русского в вм зайти в Инструменты - Инструменты и миграция и там всоатновить таблицы и демо данные. Старые демо просто не будут отображаться у вас после смены языков.
 
После изучения кода пришел к выводу - функционала создания этих таблиц после установки нет.
Они создаются только при установке демо-данных виртуемарта.
Если заново залить демо-данные виртуемарта, чтобы создались таблички с нужным языком, то в большинство таблиц, которые не зависят от языка, зальются продублированные демо-данные.
 
Скорее всего в папке шаблона есть папка language ? в ней и проблема , посмотри на сервере , удали или переименуй, мне попадался подобный шаблон
 
Попробуй добавить новые категории и товары, должно помочь...
 
Неоднократно сталкивался с такими ситуациями - выход прост - пойти в Настройки - Вкладка магазин - выбрать язык (см скрин) и нажать сохранить - при этом создадутся таблицы с префиксом _ru_ru.
Если уж в этом случае у Вас ничего не получилось и язык не создался, тогда при включенной этой настройке можно пойти в меню "Инструменты и миграция" и нажать кнопку
"Установить таблицы или обновить их" (скрин2).
Если уж и этот вариант не прошел - тогда в phpmyadmin создать таблицы

Код:
CREATE TABLE IF NOT EXISTS `ПРЕФИКС_virtuemart_categories_ru_ru` (
  `virtuemart_category_id` int(1) unsigned NOT NULL,
  `category_name` char(180) NOT NULL DEFAULT '',
  `category_description` varchar(19000) NOT NULL DEFAULT '',
  `metadesc` varchar(400) NOT NULL DEFAULT '',
  `metakey` varchar(400) NOT NULL DEFAULT '',
  `customtitle` char(255) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_category_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE IF NOT EXISTS `ПРЕФИКС_virtuemart_manufacturercategories_ru_ru` (
  `virtuemart_manufacturercategories_id` int(1) unsigned NOT NULL,
  `mf_category_name` char(180) NOT NULL DEFAULT '',
  `mf_category_desc` varchar(19000) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_manufacturercategories_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE IF NOT EXISTS `ПРЕФИКС_virtuemart_manufacturers_ru_ru` (
  `virtuemart_manufacturer_id` int(1) unsigned NOT NULL,
  `mf_name` char(180) NOT NULL DEFAULT '',
  `mf_email` char(255) NOT NULL DEFAULT '',
  `mf_desc` varchar(19000) NOT NULL DEFAULT '',
  `mf_url` char(255) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_manufacturer_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE IF NOT EXISTS `ПРЕФИКС_virtuemart_paymentmethods_ru_ru` (
  `virtuemart_paymentmethod_id` int(1) unsigned NOT NULL,
  `payment_name` char(180) NOT NULL DEFAULT '',
  `payment_desc` varchar(19000) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_paymentmethod_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE IF NOT EXISTS `ПРЕФИКС_virtuemart_products_ru_ru` (
  `virtuemart_product_id` int(1) unsigned NOT NULL,
  `product_s_desc` varchar(2000) NOT NULL DEFAULT '',
  `product_desc` varchar(18400) NOT NULL DEFAULT '',
  `product_name` char(180) NOT NULL DEFAULT '',
  `metadesc` varchar(400) NOT NULL DEFAULT '',
  `metakey` varchar(400) NOT NULL DEFAULT '',
  `customtitle` char(255) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_product_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `ПРЕФИКС_virtuemart_shipmentmethods_ru_ru` (
  `virtuemart_shipmentmethod_id` int(1) unsigned NOT NULL,
  `shipment_name` char(180) NOT NULL DEFAULT '',
  `shipment_desc` varchar(19000) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_shipmentmethod_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


CREATE TABLE IF NOT EXISTS `ПРЕФИКС_virtuemart_vendors_ru_ru` (
  `virtuemart_vendor_id` int(1) unsigned NOT NULL,
  `vendor_store_desc` text NOT NULL,
  `vendor_terms_of_service` text NOT NULL,
  `vendor_legal_info` text NOT NULL,
  `vendor_letter_css` text NOT NULL,
  `vendor_letter_header_html` varchar(8000) NOT NULL DEFAULT '<h1>{vm:vendorname}</h1><p>{vm:vendoraddress}</p>',
  `vendor_letter_footer_html` varchar(8000) NOT NULL DEFAULT '<p>{vm:vendorlegalinfo}<br />Page {vm:pagenum}/{vm:pagecount}</p>',
  `vendor_store_name` char(180) NOT NULL DEFAULT '',
  `vendor_phone` char(26) NOT NULL DEFAULT '',
  `vendor_url` char(255) NOT NULL DEFAULT '',
  `metadesc` varchar(400) NOT NULL DEFAULT '',
  `metakey` varchar(400) NOT NULL DEFAULT '',
  `customtitle` char(255) NOT NULL DEFAULT '',
  `slug` char(192) NOT NULL DEFAULT '',
  PRIMARY KEY (`virtuemart_vendor_id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 

Вложения

  • scrin.png
    scrin.png
    55,4 KB · Просмотры: 18
  • scrin2.png
    scrin2.png
    7,1 KB · Просмотры: 12
При установке демо-версий сайта с VM приходится русифицировать админку, сайт и Вирт.
Назначать в магазире русский рубль валютой по умолчанию.
К сожалению, из-за этого перестают отображаться демо-товары.
Я не делаю переход сайта на русский язык, только админки.
Для русификации Вирта просто переименовываю файлы русской локализации в английские и заменяю оригиналы.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху