Модуль Яндекс.маркет - Нужна Помощь

Здравствуйте! Пользуюсь движком уже год, полет нормальный, начал осваивать Яндекс.Маркет, нашел установленный в движке модуль, начал настраивать и тестировать. У меня большая база товаров около 10 000, которая автоматически выгружается из 1С. Я не хочу всю базу выгружать на Я.Маркет, а только выборочные товары, по логике вещей можно всем категориям поставить галку "исключить из Я.Маркета", создать одну скрытую категорию чтобы не светилась на сайте и назвать "ЯндексМаркет", а в тех товарах которые хотим выгрузить - указать дополнительную категорию - "ЯндексМаркет".

Но, так почему-то к сожалению не работает! Работает только если добавляешь товар физически в эту категорию "ЯндексМаркет", это получается совсем не удобно вести два учета по одинаковым товарам. Или я не до конца понимаю? Если будет 1000 товаров для выгрузки в маркет то я сильно запутаюсь.

Хочу чтобы был один товар в 1с на сайте и на яндексе, без дублей. Это возможно?

В идеале было бы супер если бы можно было просто понаставить экспортируемым товарам галки, без всяких лишних махинаций с категориями, почему сделали так по кривому? непонимаю

Вопрос разработчикам: Что-то можно сделать с этим?

Думаю что 99% магазинов согласятся со мной

Ну в идеале написать модуль расширение, который напротив каждого товара сделает галку выгружать в яндекс маркет, а сам модуль выгрузки в яндекс маркет с помощью хуков или override проверять есть ли эта галка, если есть то выгружать.

Думаю знающим людям на это надо будет максимум день а то и пару часов.

Если нужно экспортировать в ЯМ только некоторое количество товаров из 10к, лучше поступить следующим образом:

1. Отфильтровать эти товары на странице Товары в админке любым из способов (в одной ли они категории, или у них специальный артикул)

2. Выбрать нужные товары (или все) галочкой (стандартной, которая слева в списке товаров)

3. Выбрать пункт "Редактировать выбранные" из выпадающего списка действий со списком (это "шестеренка" вверху справа возле синей кнопки "Сохранить")

4. В появившемся окне выбрать галку YM Экспортировать товар в Яндекс.Маркет (остальные можно снять) и нажать кнопку "Редактировать выбранные".

5. На появившейся странице (адрес выглядит примерно так: admin.php?dispatch=products.m_update) нажать ссылку "Применить значения к выделенным товарам"

6. В раскрывшейся секции активировать галочку "YM Экспортировать товар в Яндекс.Маркет" и выбрать "Нет" в списке напротив нее.

7. Нажать кнопку "Применить".

После этого можно почистить кеш и заново выгрузить YML. Товары, у которых поле "YM Экспортировать товар в Яндекс.Маркет" установлено в "Нет", не попадет в YML.

Вся задача сводится только к фильтру товаров в списке, чтобы можно было выделить сразу все или как можно больше за один раз.

Проверить, установилось ли это поле в "Нет", можно на вкладке "Модули" на странице редактирования товара в админке.

Ни за что бы сам не догадался) спасибо за пошаговое руководство!

И все же кажется немного не совсем рациональный подход - в фильтре "найти которые не нужны", мне кажется логичнее было бы "найти те которые нужны".

Если по умолчанию у всех товаров было бы в поле модуля Я.М "нет", тогда фильтром легко было бы найти нужные и поставить "да".

Вопрос в том где указать по умолчанию "нет", либо можно ли как то это связать с 1С, чтобы оттуда уже шли товары с этим заполненным полем.

Вопрос в том где указать по умолчанию "нет", либо можно ли как то это связать с 1С, чтобы оттуда уже шли товары с этим заполненным полем.

На ум приходит 2 решения:

1. Прогнать скрипт прямо в БД (UPDATE ?:products SET yml_export_yes='N'). Как вариант - исправить дефолтное значение для этого поля в addon.xml и переустановить модуль

2. Или сделать описанные ранее шаги для всех товаров (долго и скучно).

Ни за что бы сам не догадался) спасибо за пошаговое руководство!

И все же кажется немного не совсем рациональный подход - в фильтре "найти которые не нужны", мне кажется логичнее было бы "найти те которые нужны".

Если по умолчанию у всех товаров было бы в поле модуля Я.М "нет", тогда фильтром легко было бы найти нужные и поставить "да".

Вопрос в том где указать по умолчанию "нет", либо можно ли как то это связать с 1С, чтобы оттуда уже шли товары с этим заполненным полем.

Откройте файл admin.php ( или соответсвующий ему, если он у вас переименован). После строки

require(dirname(__FILE__) . '/init.php');

добавьте

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'");

Зайдите на любую страницу в админке, удалите новый код. Все должно заработать так, как вам нужно

Сделал как описано в последнем посте, теперь при заходе в админку выдает:

SERVICE UNAVAILABLE

Sorry, service is temporarily unavailable.

Проблема была просто в недостающей кавычке:

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'");

Теперь более менее удобно и логично! Большое спасибо!

Результат не утешил ((

Что имею:

1) У всех товаров "Нет"

2) У всех категорий "Нет"

3) Через фильтр нахожу товары - ставлю им "Да", сохраняю, очищаю кешь, генерирую прайс

РЕЗУЛЬТАТ: Сгенерировано 0 товаров

Пытаюсь делать по другому:

1) всем категориям ставлю "Да"

2) Через фильтр нужным товарам "Да"

РЕЗУЛЬТАТ: Сгенерированы выбранные товары, но перед ними также сгенерированы и все категории что есть в магазине но без товаров

Как-то опять все криво получается...

Получается после того как фильтром нашел со всей базы нужные товары - еще искать из каких они категорий-подкатегорий и в ручную выставлять им "Да", только потом они появятся в выгрузке, может есть еще какой-то способ про который я не знаю?

Интересно. Приведенный скрипт не трогает категории вообще.

После первого запуска админки с правками в admin.php надо сразу же удалить эти строки. Иначе при открытии любой страницы в админке все ваши изменения снова будут слетать в N

Получается после того как фильтром нашел со всей базы нужные товары - еще искать из каких они категорий-подкатегорий и в ручную выставлять им "Да", только потом они появятся в выгрузке, может есть еще какой-то способ про который я не знаю?

Посмотрели код, так и получается. Можно написать скрипт, который перед генерацией будет пробегать по всем продуктам, у которых ДА и ставить Да их категориям. Остальным категориям ставить Нет

Посмотрели код, так и получается. Можно написать скрипт, который перед генерацией будет пробегать по всем продуктам, у которых ДА и ставить Да их категориям. Остальным категориям ставить Нет

Было бы супер если бы вы помогли написать такой скрипт, думаю что это было бы полезно многим, если нужно готов поддержать материально

Вот пример моего выгруженного прайса, у всех категорий выбрано "не исключать", поиском нашел 1 товар, в прайсе можно увидеть как сгенерировались все категории, хотя ни один товар в них не разрешен для выгрузки в них.

....

<category id="258">Аккумуляторные батареи
<category id="480" parentId="258">Acer/Asus/HTC
<category id="261" parentId="258">Alcatel/Motorola
<category id="259" parentId="258">Apple
<category id="482" parentId="258">Fly/Philips
<category id="481" parentId="258">Huawei/Lenovo
<category id="479" parentId="258">LG
<category id="477" parentId="258">Nokia
<category id="478" parentId="258">Samsung
<category id="260" parentId="258">SONY
<category id="483">Все для ремонта дисплейных модулей
<category id="317">Запчасти Apple
<category id="319" parentId="317">Дисплеи Apple
<category id="469" parentId="317">Звонки, динамики, микрофоны Apple
<category id="468" parentId="317">Камеры Apple
<category id="320" parentId="317">Корпусные части Apple
<category id="467" parentId="317">Мелкие комплектующие Apple
<category id="466" parentId="317">Микросхемы Apple
<category id="465" parentId="317">Тачскрины Apple
<category id="318" parentId="317">Шлейфа Apple

....

<offer id="26103" available="true">
990.00
RUB
<categoryId type="Own">489
true
true
true
sub tovar
....
Влияют ли эти пустые категории на загрузку в Я.Маркете? Будет ли это считаться ошибкой?

Было бы супер если бы вы помогли написать такой скрипт, думаю что это было бы полезно многим, если нужно готов поддержать материально

Вы получали от нас сообщение 9 Декабря?

Не получал ничего. Еше интересует вопрос можно ли завязать на крон очищение кеша модуля яндекс маркета

Не получал ничего.

И после не получали?

Еше интересует вопрос можно ли завязать на крон очищение кеша модуля яндекс маркета

Кэш и так автоматически чистится после обновления данных по продуктам, категориям, а так же смене их статусов и смене статуса любого заказа.

Не получал ничего. Еше интересует вопрос можно ли завязать на крон очищение кеша модуля яндекс маркета

В CS-Cart нет штатной возможности чистить кеш какого-либо отдельного модуля. Конечно, расковырять можно, но надо ли? Можно воспользоваться штатным &cc&ctpl

В CS-Cart нет штатной возможности чистить кеш какого-либо отдельного модуля. Конечно, расковырять можно, но надо ли? Можно воспользоваться штатным &cc&ctpl

Тут другой кэш имеется ввиду. Функции есть в модули, он они не вынесены куда-то на отдельную ссылку. Все работает автоматом при изменении данных по сущностям, которые влияют на выгрузку в ЯМ