Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Назначить category_id не по порядку, а согласно XML?


Recommended Posts

Здравствуйте, ребята. Прошу помощи. 

 

Образовалась проблема следующего характера: 

 

Используется модуль для импорта товаров и категорий

anyCSV PRO import export – импорта и экспорта CSV

ссылка на модуль, если понадобится: https://shop.ocext.com/index.php?_route_=obmyen-dannymi/csv-import-export-opencart-modul-importa-i-eksporta-vsyekh-dannykh-dlya-csv

 

Импортируется файл XML , который я прикрепляю к  сообщению.

 

Также фрагмент файла XML, для удобства:

<categories>

			<category id="65">Аксеcсуары</category>
			<category id="71" parentId="65">Бирки</category>
			<category id="111" parentId="65">Брелоки</category>
			<category id="69" parentId="65">Коробочки</category>
			<category id="66" parentId="65">Мешочки</category>
			<category id="70" parentId="65">Подставки</category>
			<category id="110" parentId="65">Помпон</category>
			<category id="120" parentId="65">Сумки</category>
			<category id="68" parentId="65">Шеи</category>
  ...........
  и так далее указаны Категории...... 
  
  Затем в строках товаров указана привязка к конкретной группе
  
  
  Пример:
  
  <offers>
        <offer id="1031973999" available="true" article="031973-999">
          <url>https://sunstones.ua/tovar/kolco-fj-srystal-031973</url>
          <price>150</price>
          <currencyId>UAH</currencyId>
          <categoryId>37</categoryId>
 				<picture>https://sunstones.ua/photo/big/031973.jpg</picture>
 	<name>031973-999 Кольцо 'FJ' Сrystal</name>
          <description><![CDATA[Ширина: 7 мм.<br>
Бренд: FJ<br>
Вес: 2,1 г.<br>
Камень: Сrystal<br>
Материал: Бижутерный сплав<br>
Покрытие: гипоаллергенное]]></description>
          <quantity_in_stock>8</quantity_in_stock>
          <vendor></vendor>
        </offer>

 

 

Предисловие: 

 

Модулем устанавливается два идентификатора

Для категории  category_id

Для товара model

 

Суть проблемы:

 

Во время импорта создаются категории на сайте , но номер  category_id устанавливается для категории по порядку (1,2,3,4 ...), а не такой, как в файле импорта (65, 71, 111). В связи с этим есть две проблемы. 

 

1. Товары попадают не по своим категориям, т.к. товарам назначен номер категории, а он отличается от того, что в файле импорта.

2. При обновлении ассортимента возникнет проблема с идентификацией категорий - создадутся дубли категорий, т.к. номера category_id у них разные.

 

 

Как это устранить? Нужно, чтобы категориям присваивался category_id согласно файлу импорта. Как результат - успешное обновление ассортимента и правильное назначение товаров к категориям.

 

 

yml2.xml

Надіслати
Поділитися на інших сайтах


8 минут назад, nikifalex сказал:

так у автора спросите

Это разумеется. У автора "все в порядке" он не видит проблемы или не хочет видеть (узнаю как ответит), кроме того отвечает крайне медленно и не информативно. 

 

Тут вопрос скорее не модуля касается, а самого принципа работы.

 

Я недавний пользователь ocstore и мне важно понимать, как реализовать, чтобы category_id у категории не задавался спонтанно, ведь это идентификатор (не хочу, чтобы это было любое попавшееся число по нарастающей из системы). Если  category_id после импорта отличается от цифры в файле импорта - не будет идентификации в будущем. То есть снова при импорте файла появятся дубли категорий. И так каждый раз из-за несоответствий номера category_id. 

 

Есть вариант делать идентификатором название категории - но это не надежно. Переименовали категорию - и при импорте модуль не увидит такого раздела товаров из-за различий в имени.

 

Кто как это реализует у себя?

 

Надіслати
Поділитися на інших сайтах


Лучший вариант, чтобы в модуле импорта была возможность сопоставления
Категория из прайса -> Категория в базе магазина


Присваивать id категорий в базе также как и в прайсе неверно, т.к. могут быть прайсы разных поставщиков и в этих прайсах совпадать id категорий (хотя сами категории разные)

Надіслати
Поділитися на інших сайтах


39 минут назад, thentru сказал:

Лучший вариант, чтобы в модуле импорта была возможность сопоставления
Категория из прайса -> Категория в базе магазина


Присваивать id категорий в базе также как и в прайсе неверно, т.к. могут быть прайсы разных поставщиков и в этих прайсах совпадать id категорий (хотя сами категории разные)

 

Да, могут быть нюансы, если поставщиков несколько. Но если поставщик один, это реализуемо в целом? Если поставщик один - то как таковой проблемы быть и не может. По поводу использовать сравнитель типа: категория прайса номер = категория в системе номер - это хорошая идея. Спрошу.

 

 

38 минут назад, nikifalex сказал:

ну модуль не прописывет поле category_id при импорте. Это чья бага? Модуля конечно.

По этому поводу вот ответ процитирую:

 

Мой коммент: номер назначился системой по порядку всем группам, а номера "category id "  были указаны в файле

 

Ответ разработчика:

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

Счетчик типа.

Сама по  себе эта задача не очень верная. Идентификаторы файла и базы – это идентификаторы файлы и базы – это два разных счетчика. Если нужна синхронизация, чтобы два разных идентификатора совпадали. То сначала нужно подготовить базу.

 

 

 

А вот тут вопрос. Кто знает, как подготовить базу, чтобы база приняла category_id согласно импорту, а не генерировала по порядку?

 

 

 

 

Надіслати
Поділитися на інших сайтах


  • 5 months later...
On 26.07.2017 at 4:44 PM, Guava said:

спасибо всем за помощь.

 

Тоже пользуюсь 

импорт  yml через anyCSV в ocStore 2.3.0.2.1

Заливаются категории , вендор, атрибуты но товары нет!  

 

Непонятно как привязать categoryId к товару?

в форме программы

 <categoryId>
 <categoryId>

 

Надіслати
Поділитися на інших сайтах


On 25.07.2017 at 5:29 PM, Guava said:

Предисловие: 

 

Модулем устанавливается два идентификатора

Для категории  category_id

Для товара model

 

Как вы устанавливаете  category_id?

У меня в форме нет такого поля .Только идентификатор для товара 

Надіслати
Поділитися на інших сайтах


38 минут назад, dimug сказал:

 

Как вы устанавливаете  category_id?

У меня в форме нет такого поля .Только идентификатор для товара 

пишите автору. информация от вас не полная.

возможно надо поменять в поле  category_id - загружать как данную для товара, а не для категории. Категории там грузятся на основе собственной логики какой то.  

Надіслати
Поділитися на інших сайтах


26 minutes ago, Guava said:

пишите автору. информация от вас не полная.

возможно надо поменять в поле  category_id - загружать как данную для товара, а не для категории. Категории там грузятся на основе собственной логики какой то.  

 

У вас в форме импорта имеется поле category_id которую вы привязываете к карточке товара category_id?

У меня нет такого полЯ и я не могу привязать при импорте товар к главной категории. Видимо поэтому и товары не импортируются

 

categoryID.jpg

Змінено користувачем dimug
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.