AB: Модуль - Универсальный товарный экспорт

А можно чуть-чуть подробнее? Я кажется, догадываюсь, но еще бы хоть какой-то пример использования extra_join и extra_condition посмотреть, чтобы адаптировать под себя. Где можно подглядеть?

Подал заявку в тикет на участие в тестировании, но что-то тишина. И не совсем понятно, за участие нужно отдать пойнты?

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

1 лайк

Вот накидал такой шаблончик в CSV
Выдает товары из заказов, которые имеют определенный статус (в шаблоне статус “С” - Выполнено), а также какое кол-во товара было продано.
Можете адаптировать его под себя, как вам уже нужно.

{** @fmod template **}
{strip}
"Product ID"
,"Product CODE"
,"Product"
,"Product URL"
,"Product Image URL"
,"Price"
,"Sale Price"
,"Status"
,"Amount"
,"Total SELL"
{/strip}

{$params = ['extra_fields' => ['count(p.product_id) as total_sell', 'p.status', 'p.amount'],
						'extra_join' => ' INNER JOIN ?:order_details AS od ON (p.product_id = od.product_id) INNER JOIN ?:orders AS o ON (o.order_id = od.order_id)', 
						'extra_condition' => ' AND o.status = "C"',
						'items_per_page' => 1000, 
						'categories' => $categories, 
						'get_images' => true, 
						'get_features' => false]}
{while $products = fn__pfe_get_offers($datafeed, $params)}
{if $products}
{foreach $products as $product}
{strip}
"{$product.product_id}"
,"{$product.product_code}"
,"{$product.product|fn_ab__pfe04_escape_csv nofilter}"
,"{$product.url nofilter}"
{$image_url = ''}
{if $product.images}
    {$image_url = $product.images|reset}
{/if}
,"{$image_url nofilter}"
{if $product.list_price && $product.list_price|floatval > $product.price|floatval}
    ,"{$product.list_price} {$datafeed.currency_code}"
    ,"{$product.price} {$datafeed.currency_code}"
{else}
    ,"{$product.price} {$datafeed.currency_code}"
    ,""
{/if}
	,"{$product.status}"
	,"{$product.amount}"
	,"{$product.total_sell}"
{/strip}

{/foreach}
{/if}
{/while}
1 лайк

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

Так это ж даже плюс! Спасибо огромное, сегодня попробую!

Добрый день! Что-то пробовал по-разному extra_join и extra_condition добавлять в свои выгрузки, этот код копировать как есть… зависает выгрузка и всё тут. Не подскажите, как можно отлаживать эту выгрузку? Хочу понять что именно идет не так у меня. По-разному пробовал, никак результата нет. Может, в версии дело и в 3.5.1 так нельзя или как-то иначе надо делать? Хотя вряд ли…

Если в запросе возникают ошибки, они будут доступны в Журнале в админке. Такой запрос подключает большие таблицы данных (зависит от количества заказов на сайте). Попробуйте выбрать меньшее количество товаров для теста.

Дорогие друзья, сегодня мы выпустили релиз обновления:

Универсальный товарный экспорт (xml и csv форматы) v3.9.0 от 19-Май-2021

Была удалена возможность запуска Cron-задания по http-ссылке. Если Вы использовали такой формат, перепишите Cron-задание на выполнение консольной команды.

Новые возможности и улучшения:
[+] Добавлена настройка выгрузки “Схема объединения условий отбора товаров” во вкладке “Включить объекты данных”, которая позволяет более гибко настроить выборку товаров.

Изменения в существующей функциональности:
[*] Удалена настройка модуля “Cron-ключ”. Cron-задание доступно для выполнения только в консольном режиме.

Исправления ошибок:
[!] Редакция Multi-Vendor. В окне выбора включенных или исключенных товаров не отображались товары продавцов. Исправлено.
[!] Редакция Ultimate. При генерации файла выгрузки с неотмеченной настройкой “Полноразмерные изображения” ссылки на изображения указывались с адресом основной витрины, а не выбранной. Исправлено.
[!] На месте названий характеристик в файле выгрузки подставлялись названия выключенных фильтров. Исправлено.

Обновления доступны всем пользователям с активной подпиской, производятся через Центр обновлений CS-Cart.

Хотите, мы оповестим Вас о следующем обновлении? Подпишитесь на наши каналы для анонсов:

Протестировали, в теории давно ждали “Схема объединения условий отбора товаров”, на практике использовать невозможно так как товар выгружается с пустой категорией если в списке выбранных категорий нет нужной. В теории хотелось бы чтобы было так с оператором ИЛИ: в категориях выбрана категория 1(категория 1 и все товары из нее попадают в выгрузку), в товарах выбран товар из категории 2(товар и его категория должны попадать в выгрузку, при этом категория должна быть как обычно и в списке категорий и ее id в товаре.) Так как сейчас к использованию не годится(в моем случае в том виде в котором представлялось), так как, насколько я понимаю, основная цель данного изменения это дать возможность настроить категории из которых нужно выгружать либо все товары либо товары по характеристикам + дать возможность выбирать доп товары которые не попали под условия категорий. По сути сейчас можно только выбрать категории + характеристики + добавить доп товары из выбранных категорий, но которые не попали под условие характеристик

Вот точно вот так и работает. Или товары не выгружаются?

@ab.developer.inj
Товары выгружаются, проблема с категориями или может так задумано, но без категорий толку от товаров мало. Перепроверил на демо и вот что получается(Выгружаем категорию калькуляторы и ноутбук самсунг)


В итоге вот список категорий в выгрузке

<categories>
<category id="251">Калькуляторы</category>
</categories>

А вот так выглядят данные в ноутбуке самсунг(категория пуста)

<item id="219">
<url>
https://abd-95b0a1b77d.demos.abt.team/ru/elektronika/kompyutery/noutbuki/noutbuk-samsung-serii-3-15.6-300v5a/
</url>
<price>21199.6</price>
<categoryId/>
<image>
https://abd-95b0a1b77d.demos.abt.team/images/detailed/0/300V5A_Raspberry-Pink_04_6.jpg
</image>
<name>Ноутбук Samsung серии 3 15.6&quot; 300V5A</name>
<description>
С ноутбуком Samsung 300V5A серии 3 вас просто нельзя не заметить в толпе людей. Современный стильный дизайн и яркий цвет корпуса дополнят ваш неповторимый стиль. Батарея способна обеспечивать до 7 часов* работы, а включается ноутбук всего за несколько секунд. * Время работы от аккумулятора рассчитано на основе...
</description>
<features>
</features>
</item>

Нужно(а может только мне так кажется) чтобы в категории добавлялась категория ноутбуки и в товаре был id категории, так как без категории выгружать товары проблематично. Предложение вообщем то простое - генерировать список товаров, а уже потом собирать по ним список категорий и передавать это все в шаблон.

1 лайк

Вам так не кажется.
Пустые категории не должны быть. Это упущение, баг.

@ab.developer.inj, доброго времени!
Поясните, пожалуйста, по ситуации с категориями товаров. Категории будут показываться у товаров?

Здравствуйте!

Попробовал ваш модуль на демо. Сможете доработать? Нужно:

  • Возможно присваивать к выгрузке ко всем товарам примечания (параметр sales_notes) - нужно, чтобы карточка была заметнее на выдаче
  • Возможность присваивать к товарам “гарантию производителя” - аналогично, для заметности
  • Передавать количество (параметр count) - для pricelabs, чтобы авто-стратегии корректно работали и продажи шли в плюс
  • Включить возможность заказа с маркета (параметр cpa = 1) - для модели DBS
  • Передача описания в формате xhtml (cdata) - корректная передача описания, вкл. html теги h1,h2,h3
  • Передавать закупочную цену из модуля RetailFactory “Закупочная цена” - нужно для pricelabs, чтобы лучше рассчитывать стратегию
  • Передавать в UTM_term id товарного предложения (id в прайсе) - нужно для pricelabs

Если это реализуете - обязательно возьму модуль. Либо, если готовы модернизировать выгрузку через тикет в поддержке или платно - также приобретаю.

Спасибо.

Как у модуля со скоростью экспорта в yml?

По нашим наблюдениям значительно ниже, чем в коробочном модуле.

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

@ab.developer.inj, Поле не активно для выбора. Как это победить? Справку читал.

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

На сколько быстрее? Если при прочих равных, например, стандартный для 100 тыс. товаров генерирует час, то сколько будет генерировать ваш?