id категории товара

id категории товара это настройка идентификатора категории товара в XML файле в блоке товаров. Это может быть тег <category_id>, атрибут @category_id, либо любой другой тег - всегда надо смотреть структуру XML.

Это поле необходимо указать что бы модуль увидел категорию товара.

В этом поле есть дополнительные настройки Запретить обновлять, Шаблон генерации значения, Соответствие категорий

Если поставить запретить обновлять то при обновлении товаров привязка на категории не будут затронуты и переписаны в магазине.

Также в поле Шаблон генерации значения вы можете поставить любой идентификатор категории в магазине.

Обратите внимание, даже если стоят запреты при заполнении шаблона категория будет проставлена согласно шаблону

Если вам надо загрузить товары из какой-то категории импорта в другую категорию магазина вы можете задать соответствия. Для этого в пункте Соответствие категорий добавляем строку и слева пишем категорию в оригинале как в прайсе, а справа из выпадающего списка выбираем категорию магазина. Если одну категорию надо загрузить в несколько категорий это можно сделать. Для этого достаточно повторно добавить строку и прописать новое соответствие с категорией из прайса. Таким образом товары из этой категории зайдут во все проставленные категории в Opencart.

Рекомендуется заполнять конечные категории. Если указать главную категорию то все подкатегории также будут уходить в соответствие.

Также есть возможность указать не только категорию а и идентификатор категории в фиде 53453 - Название категории

где 53453 - это category_id в фиде поставщика. Рекомендуется указывать с идентификатором

Дело в том что часто бывают в фиде постойные названия категорий из-за чего вводят идентификатор идет привязка той категории что нужно

Если вам нужно для новых товаров загрузить в какую-то определенную категорию в пункте Кастомный код при обходе товара достаточно поставить строку

$product['custom_category_id'] = 435;

где 435 - id категории в магазине

Если вам надо загрузить товар в определенную категорию и у товара категория с фида такая которой нет в магазине, при этом стоит не добавлять категорию, то есть товар идет без категории то можно в пункте Кастомный код при обходе товара поставить 

$product['empty_custom_category_id'] = 435;

эта строка позволит поместить товар в категорию с id 435 в магазине когда у товара нет категории. Работает как для новых товаров, так и для обновления тех что уже есть

Для того чтобы загружать только те категории которые указаны в сопоставлениях необходимо в пункте Кастомный код до импорта добавить

$q = $this->db->query("SELECT xml FROM " . DB_PREFIX . "unixml_import_category WHERE import_id = '" . $data['import_id'] . "' AND oc !='0'");
$data['acats'] = [];
foreach($q->rows as $cat){
  $cat = explode(' - ', $cat);
  $cat = $cat[0];
  $data['acats'][$cat] = $cat;
}

После в пункте ниже Кастомный код при обходе товара добавить

if(!isset($data['acats'][$product['category_id'][0]])){
  $product['continue'] = true;
}

Чтобы товар был во всех категориях по вложенности надо в пункте Кастомный код до импорта добавить

$data['xml_parent'] = [];
foreach($data['categories_xml'] as $category){
  $data['xml_parent'][$category['category_id']] = $category['parent_id'];
}

И в пункте Кастомный код при обходе товара добавить

if(isset($data['xml_parent'][$product['category_id'][0]]) && $data['xml_parent'][$product['category_id'][0]]){
  $product['category_id'][1] = $data['xml_parent'][$product['category_id'][0]];
  if(isset($data['xml_parent'][$product['category_id'][1]]) && $data['xml_parent'][$product['category_id'][1]]){
    $product['category_id'][2] = $data['xml_parent'][$product['category_id'][1]];
    if(isset($data['xml_parent'][$product['category_id'][2]]) && $data['xml_parent'][$product['category_id'][2]]){
      $product['category_id'][3] = $data['xml_parent'][$product['category_id'][2]];
    }
  }
}
×
Информация только для UniXML 7.x
Модуль не работает в рф и работать не будет

Разработчик модуля - Прут Николай.

Работаю с opencart c 2010 года.

Создал успешные модули UniXML Pro, MicrodataPro, Easyphoto, Редиректор 301 и другие.

Авторское право на модуль UniXML и информацию на этом сайте принадлежит Прут Николаю.

Копирование материала или использования нелицензионного модуля запрещено.