Описание - opencart-moduli-shablony/moduli/obmen-dannyimi/zoxml2
Инструкция для "Модуль Диспетчер YML\XML".
Подключение и базовая настройка YML-совместимого поставщика:
1. Подключаем поставщика (добавляем в настройках URL)
2. Анализируем структуру данных поставщика и вносим необходимые изменения в раздел НАСТРОЙКА ФОРМАТА
Примеры:
a. - у поставщика отсутствует тег shop - очищаем это поле в таблице
b. - вместо тега offer у поставщика есть тег item - заменяем в таблице
3. Сканирование поставщика. Если при сканировании возникли ошибки возвращаемся к пункту 2
4. В закладке АТРИБУТЫ\ОПЦИИ для всех тегов поставщика указываем как их интерпретировать
Примеры:
a. - price_opt – цена
b. - product_name - название товара
c. – иногда, вместо определенно стандартом YML поля categoryId может быть иной тег(и) указывающий на категорию товара: <par_cat_id>Подушки</par_cat_id> <cat_id>Декоративные подушки</cat_id> - То в этом случае указываем что cat_id это название категории, а par_cat_id название родительской категории
5. После настройки выполняем повторное сканирование
Логика работы Модуля Диспетчер YML\XML c наценками:
- простая наценка на все товары: см закладку УПРАВЛЕНИЕ раздел ФОРМУЛА МОДИФИКАЦИИ ЦЕНЫ:
если нужно все цены поднять на 25% то в графу Шаг 2 - умножить результат на: вписать 1.25
- наценка с градациями на все товары: см закладку УПРАВЛЕНИЕ раздел ТАБЛИЦА НАЦЕНОК:
можно менять цены по следующему правилу: 500:0;2000:1.5;5000:1.25 - означает, что товары с ценой до 500 не загружать, до 2000 умножать цену на 1.5, до 5000 умножать на 1.25, свыше 5000 цена не изменяется
- наценка с градациями на все товары категории: см закладку КАТЕГОРИИ столбец НАЦЕНКА. Формат записи аналогичен разделу ТАБЛИЦА НАЦЕНОК:
- наценка с градациями на все товары бренда: см закладку ПРОИЗВОДИТЕЛИ столбец НАЦЕНКА. Формат записи аналогичен разделу ТАБЛИЦА НАЦЕНОК:
Приоритеты использования:
1. Если у бренда есть свое правило наценки, то остальные правила игнорируются
2. Если у категории есть свое правило наценки, то остальные правила игнорируются
3. ФОРМУЛА МОДИФИКАЦИИ ЦЕНЫ
4. ТАБЛИЦА НАЦЕНОК
Если у вас фид данных YML стандарта, то Модуль Диспетчер YML\XML прогружает Товары из коробки - то есть не нужно составлять регулярные выражения для вкладки Подстановки и не нужно создавать PHP скрипты для вкладки События.
Для подключения XML, отличных от YML-стандарта нужно проводить анализ XML и создавать:
На сайте regex101 выражения по воздействию на фид данных или на его теги таким образом, чтоб его архитектура воспринялась Модулем Диспетчер YML\XML
Если не возможно привести XML налету к формату YML, то нужно создать PHP обработчики для вкладки События. Отмечу, что в дистрибутиве Модуля Диспетчер YML\XML много PHP обработчиков-примеров, написанных Автором.
Модуль "Диспетчер YML\XML" для Opencart\ocStore версии 1.5.Х - 3.0
Re: Модуль "Диспетчер YML\XML" для Opencart\ocStore версии 1.5.Х - 3.0
Часто нужно перегенерировать с помощью Диспетчер YML\XML SEO данные по определённому фиду данных.
Пишем или модернизируем Пользовательским скрипт:
if ($index=='update_meta') {
$sql = "UPDATE " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "'";
if (isset($output['meta_keyword'])) $sql .= ", meta_keyword = '" . $this->db->escape($output['meta_keyword']) . "'";
if (isset($output['meta_description'])) $sql .= ", meta_description = '" . $this->db->escape($output['meta_description']) . "'";
if (isset($output['meta_title'])) $sql .= ", meta_title = '" . $this->db->escape($output['meta_title']) . "'";
if (isset($output['meta_h1'])) $sql .= ", meta_h1 = '" . $this->db->escape($output['meta_h1']) . "'";
if (isset($output['seo_title'])) $sql .= ", seo_title = '" . $this->db->escape($output['seo_title']) . "'";
if (isset($output['seo_h1'])) $sql .= ", seo_h1 = '" . $this->db->escape($output['seo_h1']) . "'";
if (isset($output['tag'])) $sql .= ", tag = '" . $this->db->escape($output['tag']) . "'";
$sql .= " WHERE language_id = '" . (int)$data['settings']['language'] . "' AND product_id = '" . (int)$product_id . "'";
$this->db->query($sql);
}
if ($index=='update_url') {
if (isset($data['module']['url_alias'])) $this->db->query("DELETE FROM " . DB_PREFIX . "product_to_store WHERE query = 'product_id=" . (int)$product_id. "'");
if (isset($data['module']['seo_url'])) $this->db->query("DELETE FROM " . DB_PREFIX . "seo_url WHERE language_id = '" . (int)$data['settings']['language'] . "' AND query = 'product_id=" . (int)$product_id. "'");
$this->model_zoxml2_zoxml2->doSeoUrl($data,$output,$product_id);
}
Пишем или модернизируем Пользовательским скрипт:
if ($index=='update_meta') {
$sql = "UPDATE " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "'";
if (isset($output['meta_keyword'])) $sql .= ", meta_keyword = '" . $this->db->escape($output['meta_keyword']) . "'";
if (isset($output['meta_description'])) $sql .= ", meta_description = '" . $this->db->escape($output['meta_description']) . "'";
if (isset($output['meta_title'])) $sql .= ", meta_title = '" . $this->db->escape($output['meta_title']) . "'";
if (isset($output['meta_h1'])) $sql .= ", meta_h1 = '" . $this->db->escape($output['meta_h1']) . "'";
if (isset($output['seo_title'])) $sql .= ", seo_title = '" . $this->db->escape($output['seo_title']) . "'";
if (isset($output['seo_h1'])) $sql .= ", seo_h1 = '" . $this->db->escape($output['seo_h1']) . "'";
if (isset($output['tag'])) $sql .= ", tag = '" . $this->db->escape($output['tag']) . "'";
$sql .= " WHERE language_id = '" . (int)$data['settings']['language'] . "' AND product_id = '" . (int)$product_id . "'";
$this->db->query($sql);
}
if ($index=='update_url') {
if (isset($data['module']['url_alias'])) $this->db->query("DELETE FROM " . DB_PREFIX . "product_to_store WHERE query = 'product_id=" . (int)$product_id. "'");
if (isset($data['module']['seo_url'])) $this->db->query("DELETE FROM " . DB_PREFIX . "seo_url WHERE language_id = '" . (int)$data['settings']['language'] . "' AND query = 'product_id=" . (int)$product_id. "'");
$this->model_zoxml2_zoxml2->doSeoUrl($data,$output,$product_id);
}
Re: Модуль "Диспетчер YML\XML" для Opencart\ocStore версии 1.5.Х - 3.0
Добрый день, я ищу человека кто может настроить модуль Диспетчер YML\XML v. 2.3