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

Разработка модуля проставления атрибутов из названия


Recommended Posts

Приветствую все заинтересовавшихся!
Собственно требуется разработка модуля для osStore 2.3. Принцип работы такой.
Модуль видит название товара, пример Мотор стеклоочистителя задний JEEP GRAND CHEROKEE (ZJ) 1993-1998 ОЕМ-51167352355 (19650-24) Под заказ 
и разбирает на основные атрибуты.
К примеру нам нужно из названия получить  1.Марка, 2.Модель, 3.Категория, 4.Под категория, 5.Модель кузова, 6.Модель двигателя, 7.год выпуска 8.Оригинальный номер
 1.Марка = JEEP
2.Модель = GRAND CHEROKEE
4.Под категория = Мотор стеклоочистителя задний
5.Модель кузова = ZJ
7.год выпуска = 1993-1998
8.Оригинальный номер = 51167352355

3.Категория этот атрибут является зависимы от 4.Под категория То есть при определении модулем атрибута 4.Под категория id=2005 дополнительно присваевается соответствующий id= 3.Категория 

Более точно в ручную создается заданный шаблон-замена так как многие поставщики могут JEEP назвать Джип, JP и т.д. Модуль на основании созданного шаблона находит в name
совпадение и проставляет необходимый ID в mysql.

Более точные вопросы по данной разработке в личку или скайп. Есть наглядный боевой пример написанный на чистом php. Как должно работать. Впринципи если сможете прикрутить данную реализацию к osstore 2.3 то тоже рассматривается.

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


Корректность заключается в четком сопоставлении шаблонов, на что модулю нужно опираться при обработке name. Есть же работающий вариант полностью соответствующей задаче. И не корректность абсолютно не замечена.  
Причина почему не устраивает мало функциональность интернет магазина и административной части для которой было написано.  

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


Одно дело разбор готового - пример
И другое генерация

Есть товар с атрибутами (характеристиками)
тип кузова - ZJ
год выпуска NNNN-MMMM
марка
и т.д.

И генерация названия из характеристик

Но делать семантический разбор

Мотор стеклоочистителя задний JEEP GRAND CHEROKEE (ZJ) 1993-1998 ОЕМ-51167352355 (19650-24) Под заказ 

 

Стеклоочиститель задний JEEP CHEROKEE (ZJ) 1993-1998 OEM-xxxxxxx

Как в таком случае? Ведь по сути в  вашем примере нет стоп символов и количество слов изменяемое

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




 

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

Для построения автомата достаточно иметь заданный шаблон названия. 
Модуль видит name, обращается к mysql таблице где хранятся в ручную созданные шаблоны 
пример:
 JEEP = ID;25
Так же может быть заданный шаблон с другими именами но одним id. По факту получаем
Джип = ID;25
Джееп = ID;25
JP = ID;25
Получается немного по дольше, так как модулю приходится для каждого name повторно лопатить целую таблицу в поисках совпадений и проставление у товара нужных ID.
Живой пример, имеем 
1006310 ед. товаров, определение атрибутов разбито на три этапа. 
Марка, Модель, Категория и подкатегория.
Время обработки Марки составляет 13 минут. +- некоторые секунды. Модель 25-30 минут. и т.д.

 

Цитата

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

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

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


Еще раз...

Вы показали только  один вариант

Ведь, например
Стеклоочиститель Джип Jeep - уже выпадет из списка

Что у вас там работает нам неизвестно, потому как мы не владеем полной информацией.
 

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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