Помощь Автоматическая привязка изображения по похожему названию товара

vita189

Постоялец
Регистрация
22 Сен 2011
Сообщения
99
Реакции
38
Как реализовать автоматическую привязку изображению по похожему названию товара. Например, есть товары - цветы, необходимо чтобы автоматически товары: цветы розы1, цветы розы2, цветы розы3 и так далее имели одинаковые картинки? Магазин не цветочный, но специфика та же, вариант-опции для товара не подходит под текущую реализацию магазина... Очень не хочется вручную редактировать csv файлы и для каждого прописывать одинаковые картинки/слишком много. Может кто сталкивался или просто даст совет?
 
Думается мне проще реализовать это путем определения тегов.
1. Определяем есть ли у товара изображение.
2. Если нет то считываем тег(и)
3. находим по тегу в базе другой товар у которого привязано изображение
4. используем его для нашего товара без изображения
 
Насколько я понял, стоит задача: вывода картинки по умолчанию в подкатегориях, такой же как установлена в категории ? Картинки по умолчанию, выводятся, если к товару не прикреплено изображение. И картинки по умолчанию - разные для разных категорий.
Я правильно понял задачу ?
 
Насколько я понял, стоит задача: вывода картинки по умолчанию в подкатегориях, такой же как установлена в категории ? Картинки по умолчанию, выводятся, если к товару не прикреплено изображение. И картинки по умолчанию - разные для разных категорий.
Я правильно понял задачу ?
Нет, категории две, товаров тысячи, некоторые товары идентичны по внешнему виду, эти товары имеют одинаковое название (первые три слова), но различны по свойствам. Все это дело специально настроено под удобный специальный фильтр. Необходимо чтобы по названию товара (первым двум-трем словам) определялось похожесть и картинки автоматически присваивались.
Думается мне проще реализовать это путем определения тегов.
1. Определяем есть ли у товара изображение.
2. Если нет то считываем тег(и)
3. находим по тегу в базе другой товар у которого привязано изображение
4. используем его для нашего товара без изображения
Немного не то...
 
Нет, категории две, товаров тысячи, некоторые товары идентичны по внешнему виду, эти товары имеют одинаковое название (первые три слова), но различны по свойствам. Все это дело специально настроено под удобный специальный фильтр. Необходимо чтобы по названию товара (первым двум-трем словам) определялось похожесть и картинки автоматически присваивались.

Немного не то...

Картинки как я понимаю выводятся и в каталоге и в странице товара.

Т.е. надо уже отсылая запрос к б.д. и получив необходимые первые 20 товаров для страницы номер 1 для каждого товара в отдельности

1. проверить наличие поля изображение
2. при отсутствии начать поиск по базе данных, согласно регулярному выражению взять первые три слова, в этом товаре разделенные пробелом
3. полученное значение (результат после обработки регулярным выражением) $result='101 роза'; отправляем на запрос к б.д. SELECT `image` FROM `oc_product` INNER JOIN `oc_product_description` WHERE `oc_product_description`.`name` LIKE '.$result.'% AND `oc_product_description`.`language_id`=2 AND `oc_product`.`image` IS NOT NULL LIMIT 0,1

% нужен если отличающаяся часть находится после рег выражения
LIMIT0,1 это если сразу первое совпадение с не пустым полем изображение будем использовать в качестве дефолтной картинки
Это очень накладно, поскольку надо проверить каждый новый товар без картинки с множеством других товаров и соответственно сделать N запросов при выводе n на страницу
 
Последнее редактирование:
Картинки как я понимаю выводятся и в каталоге и в странице товара.

Т.е. надо уже отсылая запрос к б.д. и получив необходимые первые 20 товаров для страницы номер 1 для каждого товара в отдельности

1. проверить наличие поля изображение
2. при отсутствии начать поиск по базе данных, согласно регулярному выражению взять первые три слова, в этом товаре разделенные пробелом
3. полученное значение (результат после обработки регулярным выражением) $result='101 роза'; отправляем на запрос к б.д. SELECT `image` FROM `oc_product` INNER JOIN `oc_product_description` WHERE `oc_product_description`.`name` LIKE '.$result.'% AND `oc_product_description`.`language_id`=2 AND `oc_product`.`image` IS NOT NULL LIMIT 0,1

% нужен если отличающаяся часть находится после рег выражения
LIMIT0,1 это если сразу первое совпадение с не пустым полем изображение будем использовать в качестве дефолтной картинки
Это очень накладно, поскольку надо проверить каждый новый товар без картинки с множеством других товаров и соответственно сделать N запросов при выводе n на страницу
Но идея неплохая, попробую оттолкнуться. Только вот это огромное количество запросов.
 
Как по мне, так проще всего реализовать в CSV файле с помощью формулы или макроса. Чтобы к похожим названиям прописался один путь изображения.
 
Но идея неплохая, попробую оттолкнуться. Только вот это огромное количество запросов.
vita189 , у вас получилось реализовать вариант предложенный madmaximus85 ?
Если получилось, то напишите, как с производительностью сайта обстоят дела.
 
Как по мне, так проще всего реализовать в CSV файле с помощью формулы или макроса. Чтобы к похожим названиям прописался один путь изображения.
Полностью согласен.
vita189 , у вас получилось реализовать вариант предложенный madmaximus85 ?
Если получилось, то напишите, как с производительностью сайта обстоят дела.
Не стал реализовывать, так как сервер просто не выдержит, буду разбираться с макросами в Open Office, дел с ними не имел, поэтому буду обращаться к людям, которые уже занимались данными вопросами.
 
Полностью согласен.

Не стал реализовывать, так как сервер просто не выдержит, буду разбираться с макросами в Open Office, дел с ними не имел, поэтому буду обращаться к людям, которые уже занимались данными вопросами.
В гугле тонны информации по макросам, ткже на сайте мелкософтовцев тоже должна быть официальная справка. Там нет ничего сложного. Конечно, если есть время на разбирательство.
 
Назад
Сверху