Здравствуйте! Пользуюсь движком уже год, полет нормальный, начал осваивать Яндекс.Маркет, нашел установленный в движке модуль, начал настраивать и тестировать. У меня большая база товаров около 10 000, которая автоматически выгружается из 1С. Я не хочу всю базу выгружать на Я.Маркет, а только выборочные товары, по логике вещей можно всем категориям поставить галку "исключить из Я.Маркета", создать одну скрытую категорию чтобы не светилась на сайте и назвать "ЯндексМаркет", а в тех товарах которые хотим выгрузить - указать дополнительную категорию - "ЯндексМаркет".
Но, так почему-то к сожалению не работает! Работает только если добавляешь товар физически в эту категорию "ЯндексМаркет", это получается совсем не удобно вести два учета по одинаковым товарам. Или я не до конца понимаю? Если будет 1000 товаров для выгрузки в маркет то я сильно запутаюсь.
Хочу чтобы был один товар в 1с на сайте и на яндексе, без дублей. Это возможно?
В идеале было бы супер если бы можно было просто понаставить экспортируемым товарам галки, без всяких лишних махинаций с категориями, почему сделали так по кривому? непонимаю
Ну в идеале написать модуль расширение, который напротив каждого товара сделает галку выгружать в яндекс маркет, а сам модуль выгрузки в яндекс маркет с помощью хуков или override проверять есть ли эта галка, если есть то выгружать.
Думаю знающим людям на это надо будет максимум день а то и пару часов.
Если нужно экспортировать в ЯМ только некоторое количество товаров из 10к, лучше поступить следующим образом:
1. Отфильтровать эти товары на странице Товары в админке любым из способов (в одной ли они категории, или у них специальный артикул)
2. Выбрать нужные товары (или все) галочкой (стандартной, которая слева в списке товаров)
3. Выбрать пункт "Редактировать выбранные" из выпадающего списка действий со списком (это "шестеренка" вверху справа возле синей кнопки "Сохранить")
4. В появившемся окне выбрать галку YM Экспортировать товар в Яндекс.Маркет (остальные можно снять) и нажать кнопку "Редактировать выбранные".
5. На появившейся странице (адрес выглядит примерно так: admin.php?dispatch=products.m_update) нажать ссылку "Применить значения к выделенным товарам"
6. В раскрывшейся секции активировать галочку "YM Экспортировать товар в Яндекс.Маркет" и выбрать "Нет" в списке напротив нее.
7. Нажать кнопку "Применить".
После этого можно почистить кеш и заново выгрузить YML. Товары, у которых поле "YM Экспортировать товар в Яндекс.Маркет" установлено в "Нет", не попадет в YML.
Вся задача сводится только к фильтру товаров в списке, чтобы можно было выделить сразу все или как можно больше за один раз.
Проверить, установилось ли это поле в "Нет", можно на вкладке "Модули" на странице редактирования товара в админке.
Вопрос в том где указать по умолчанию "нет", либо можно ли как то это связать с 1С, чтобы оттуда уже шли товары с этим заполненным полем.
На ум приходит 2 решения:
1. Прогнать скрипт прямо в БД (UPDATE ?:products SET yml_export_yes='N'). Как вариант - исправить дефолтное значение для этого поля в addon.xml и переустановить модуль
2. Или сделать описанные ранее шаги для всех товаров (долго и скучно).
db_query("UPDATE ?:products SET yml_export_yes=?s",'N'); db_query("ALTER TABLE `?:products` CHANGE `yml_export_yes` `yml_export_yes` CHAR(1) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'N'");
Теперь более менее удобно и логично! Большое спасибо!
3) Через фильтр нахожу товары - ставлю им "Да", сохраняю, очищаю кешь, генерирую прайс
РЕЗУЛЬТАТ: Сгенерировано 0 товаров
Пытаюсь делать по другому:
1) всем категориям ставлю "Да"
2) Через фильтр нужным товарам "Да"
РЕЗУЛЬТАТ: Сгенерированы выбранные товары, но перед ними также сгенерированы и все категории что есть в магазине но без товаров
Как-то опять все криво получается...
Получается после того как фильтром нашел со всей базы нужные товары - еще искать из каких они категорий-подкатегорий и в ручную выставлять им "Да", только потом они появятся в выгрузке, может есть еще какой-то способ про который я не знаю?
Интересно. Приведенный скрипт не трогает категории вообще.
После первого запуска админки с правками в admin.php надо сразу же удалить эти строки. Иначе при открытии любой страницы в админке все ваши изменения снова будут слетать в N
Получается после того как фильтром нашел со всей базы нужные товары - еще искать из каких они категорий-подкатегорий и в ручную выставлять им "Да", только потом они появятся в выгрузке, может есть еще какой-то способ про который я не знаю?
Посмотрели код, так и получается. Можно написать скрипт, который перед генерацией будет пробегать по всем продуктам, у которых ДА и ставить Да их категориям. Остальным категориям ставить Нет
Посмотрели код, так и получается. Можно написать скрипт, который перед генерацией будет пробегать по всем продуктам, у которых ДА и ставить Да их категориям. Остальным категориям ставить Нет
Было бы супер если бы вы помогли написать такой скрипт, думаю что это было бы полезно многим, если нужно готов поддержать материально
Вот пример моего выгруженного прайса, у всех категорий выбрано "не исключать", поиском нашел 1 товар, в прайсе можно увидеть как сгенерировались все категории, хотя ни один товар в них не разрешен для выгрузки в них.
....
<categoryid="258">Аккумуляторные батареи
<categoryid="480"parentId="258">Acer/Asus/HTC
<categoryid="261"parentId="258">Alcatel/Motorola
<categoryid="259"parentId="258">Apple
<categoryid="482"parentId="258">Fly/Philips
<categoryid="481"parentId="258">Huawei/Lenovo
<categoryid="479"parentId="258">LG
<categoryid="477"parentId="258">Nokia
<categoryid="478"parentId="258">Samsung
<categoryid="260"parentId="258">SONY
<categoryid="483">Все для ремонта дисплейных модулей
<categoryid="317">Запчасти Apple
<categoryid="319"parentId="317">Дисплеи Apple
<categoryid="469"parentId="317">Звонки, динамики, микрофоны Apple
<categoryid="468"parentId="317">Камеры Apple
<categoryid="320"parentId="317">Корпусные части Apple
<categoryid="467"parentId="317">Мелкие комплектующие Apple
Не получал ничего. Еше интересует вопрос можно ли завязать на крон очищение кеша модуля яндекс маркета
В CS-Cart нет штатной возможности чистить кеш какого-либо отдельного модуля. Конечно, расковырять можно, но надо ли? Можно воспользоваться штатным &cc&ctpl
В CS-Cart нет штатной возможности чистить кеш какого-либо отдельного модуля. Конечно, расковырять можно, но надо ли? Можно воспользоваться штатным &cc&ctpl
Тут другой кэш имеется ввиду. Функции есть в модули, он они не вынесены куда-то на отдельную ссылку. Все работает автоматом при изменении данных по сущностям, которые влияют на выгрузку в ЯМ