msProducts выводит одинаковые товары
Добрый день! Заметил одну интересную особенность. Например, у меня есть товар «Футболка». Во вкладке «Галерея» для нее загружены 2 фотографии. В свойствах одной в поле «Описание» указано «белый», в другой «черный». При вызове msProducts на странице вместо одного товара «Футболка» выводится два с разными изображениями товара. Если поле «Описание» очистить, то тогда выводится как надо, то есть один уникальный товар с первой фотографией из галереи.
Подскажите, пожалуйста, как вызвать сниппет, чтобы он не дублировал товары при выводе?
---UPDATE---
Предыстория. Я сейчас делаю перевод самописного магазина с MODX Evo на Revo. Товаров достаточно много, порядка 10000, поэтому перенос данных, естественно, осуществлялся скриптами. Каждый товар может иметь несколько цветов, каждому цвету соответствует отдельная фотография. При этом товары разного цвета могут отличаться в цене, и о каждом из них имеется информация об остатках в каждой торговой точке. Поэтому чтобы иметь логическую связь «Цвет — изображение» в поле «Описание» файла галереи прописывается цвет. Был написан скрипт, который из старой базы переносил записи в таблицы ms2_products и ms2_product_files. Далее выполнялся скрипт генерации всех нужных мне превью. Сам скрипт, наверное, нет смысла выкладывать, главное, что со своей задачей он справляется, всё встает на свои места. За основу был взят скрипт со страницы Товар Потом была обнаружена проблема, описанная вначале.
Если зайти в галерею товара, открыть свойства каждого изображения и нажимать кнопку «сохранить», то этот товар перестает дублироваться при выводе. Отличий в полях БД вышеуказанных таблиц между «вылеченными» товарами и «проблемными» я не обнаружил.
Понятно, что пересохранять 10000 товаров вручную — путь вникуда.
Может кто-то знает, что такого особенного делает кнопка «сохранить» в свойствах картинки? Если нужны любые дополнительные сведения — всё предоставлю
Подскажите, пожалуйста, как вызвать сниппет, чтобы он не дублировал товары при выводе?
---UPDATE---
Предыстория. Я сейчас делаю перевод самописного магазина с MODX Evo на Revo. Товаров достаточно много, порядка 10000, поэтому перенос данных, естественно, осуществлялся скриптами. Каждый товар может иметь несколько цветов, каждому цвету соответствует отдельная фотография. При этом товары разного цвета могут отличаться в цене, и о каждом из них имеется информация об остатках в каждой торговой точке. Поэтому чтобы иметь логическую связь «Цвет — изображение» в поле «Описание» файла галереи прописывается цвет. Был написан скрипт, который из старой базы переносил записи в таблицы ms2_products и ms2_product_files. Далее выполнялся скрипт генерации всех нужных мне превью. Сам скрипт, наверное, нет смысла выкладывать, главное, что со своей задачей он справляется, всё встает на свои места. За основу был взят скрипт со страницы Товар Потом была обнаружена проблема, описанная вначале.
Если зайти в галерею товара, открыть свойства каждого изображения и нажимать кнопку «сохранить», то этот товар перестает дублироваться при выводе. Отличий в полях БД вышеуказанных таблиц между «вылеченными» товарами и «проблемными» я не обнаружил.
Понятно, что пересохранять 10000 товаров вручную — путь вникуда.
Может кто-то знает, что такого особенного делает кнопка «сохранить» в свойствах картинки? Если нужны любые дополнительные сведения — всё предоставлю
Комментарии: 6
Отличий в полях БД вышеуказанных таблиц между «вылеченными» товарами и «проблемными» я не обнаружил.Скорее всего ты импортируешь все картинки с rank = 0, поэтому при выводе товаров группировка не работает.
Или указывай правильный порядок картинок, или сортируй их после импорта (чтобы rank указался программно) или вызывай msProducts с
&groupby=`msProduct.id`
если MySQL < 5.7
Василий, спасибо тебе огромное! Действительно, всё как ты сказал. Перезаполнил таблицу, теперь всё как надо. Отдельное спасибо за pdoTools, miniShop2 и всё, чем мы можем пользоваться каждый день и экономить своё время!
На здоровье!
Такая же ерунда, но я не переносила отдельно товары, а переносила всю базу из mysql8 в мариам. Так вот у меня в некоторых товарах были одинаковые rank (вот хрен знает, как так вышло то). В итоге правка в базе, а потом генерация превью заново проблему решила. Но опять же, это точечное решение.
Таже проблема, на новый версия Modx и minishop2.
msProducts выводит два одинаковых товара с id=46.
[[!pdoPage?
&element=`msProducts`
&depth=`0`
&limit=`9`
&includeThumbs=`small`
]]
Тоже база была импортирована из mysql8 в мариам
msProducts выводит два одинаковых товара с id=46.
[[!pdoPage?
&element=`msProducts`
&depth=`0`
&limit=`9`
&includeThumbs=`small`
]]
Тоже база была импортирована из mysql8 в мариам
помогло удаление фото данного дублирующегося товара и залив новых.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.