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

Добрый день.

Специально для Вас у нас есть документация к модулю в которой всё подробно описано.
Название поля от custom_h1 можно подглянуть в исходном коде формы товара.

Я прочитал, и у меня вопрос не по заголовку товара, а категории, для товара получается, для категории нет.

Вы безусловно правы.

Но тут есть несколько моментов:

  1. Так сложилось исторически.
  2. Сейчас нет ресурсов на то чтоб с нуля переписать все эти механизмы (и сделать миграции чтоб уже настроенные выгрузки не сломались и сохранились все уже созданные условия)
  3. Никто не может утверждать (пока не сделать какую-то первоначальную реализацию), что подобная реализация не увеличит время генерации выгрузки до невообразимо долгого.
1 лайк

А вот это через хук в модуле. Массив categories генерируется кодом модуля и передаётся во вьюху. Вам нужны услуги интегратора.

Если мне нужны услуги интегратора, то зачем мне модуль :slight_smile: Мне тогда и без него сразу сделают.

Вопрос времени. Добавить поле в выгрузку займёт около часа. Сомневаюсь что кто-то за час сможет сделать просто выгрузку данных в шаблон (даже не учитывая всей гибкости и вариативности функционала выгрузок).

Модуль от программистов для программистов:) Чтобы получить список брендов и адреса страниц этих брендов как я понимаю, нужно еще что то более хитрое?

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

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

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

Документация для этого скудновата.

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

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

Оказывается это баг (или фича) CS-Cart, сделал тему в баг-трекере: Неправильное общее количество при работе модуля Склады

1 лайк

Ну что же, CS-Cart пнул мяч обратно к Alexbranding:

При использовании модуля Склады [Beta] и указания количества для товара по складам, значение amount, которое хранится в таблице cscart_products, остается прежним (то есть старым, до того как вы включили модуль Склады). Оно будет использоваться, если выключить модуль Склады [Beta]:
https://www.cs-cart.ru/docs/latest/user_guide/addons/warehouses/how_it_works.html#id5

При этом, в панели администратора на страницы редактирования товара отображается количество товара на складе и данное количество можно увидеть в поле amount в таблицах cscart_warehouses_products_amount и cscart_warehouses_destination_products_amount.

Вижу вы используете модуль AB: Универсальный товарный экспорт и нашла вашу задачу на форуме, где Alexbranding сообщил о том, что данный модуль работает с общим количеством товаров из поля amount таблицы cscart_products.

В данном случае, могу только предложить вам обратиться в тех поддержку Alexbranding с предложением рассмотреть возможность использовать amount из таблиц cscart_warehouses_products_amount и cscart_warehouses_destination_products_amount в своем модуле.

Ответ Alexbranding мы знаем, “с модулем склады модуль Универсальный товарынй экспорт не работает”.

Таким образом, надо иметь в виду всем пользователям, что при использовании модуля “Склады” они не смогут выводить верное количество (даже общее) модулем “Универсальный товарный экспорт”.

И даже галочка “выводить только товары в наличии” не будет правильно работать.
А это ОЧЕНЬ критично при работе с маркетплейсами.

Давайте попробуем описать на примере. Представьте что у вас есть отдельный каталог товаров с наличием по каждому складу отдельно. Раз в день к Вам приходит обновление по остаткам и Вы красиво разносите их по отдельным каталогам. При этом каждую минуту заходит отдельный покупатель и уточняет, есть ли товар в наличии (на каком угодно складе, ему не приципиально). Так вот, Вам нужно открыть каждый каталог, в каждом из них найти указанную позицию и сказать пользователю суммарный результат.
А теперь представьте что у Вас есть общий каталог, в который можно было бы заносить общее количество товара раз в день при обновлении остатков (ведь всё-равно разносите, просто заполняете ещё одно поле). Но в течении всего дня Вы можете давать ответы пользователям найдя позицию в одном единственном каталоге, не перерывая каталог каждого склада отдельно.

Это довольно грубый пример, но дело обстоит именно так. Мы написали разработчикам CS-Cart техническое обоснование обновления общего количества. Будем надеятся что они внесут это в будущих версиях. Попытка просчитать количество всех товаров по всем складам при формировании каждой выгрузки будет неоправдано затратным по ресурсам.

2 лайка

Да, я прекрасно понимаю что гораздо рациональнее иметь один общий параметр amount который используется и при использовании модуля “Склады” и без него. Конечно.

Наличие или отсутствие товара - важный параметр, с которым может работать любой сторонний модуль, и нужно предоставлять какой-то единый интерфейс доступа к этому параметру.

у меня часть товаров не отображается в гугл рекламе из-за длинного описания, как можно пофиксить этот момент?
Описание уродовать желания нет, может есть способ сокращать часть описания в товарном фиде?

В шаблон к полю названия добавьте вызов модификатора truncate или substr
Вот так например

{$product.product|truncate:50}
{$product.product|substr:0:50}

{** google_rm **}
{strip}
“id”
,“title”
,“description”
,“link”
,“image_link”
,“availability”
,“price”
,“sale_price”
,“condition”
{if $ab__pfe04_brand == ‘Y’},“brand”{/if}
{if $ab__pfe04_product_type == ‘Y’},“product_type”{/if}
{if $ab__pfe04_google_product_category == ‘Y’},“google_product_category”{/if}
{if intval($ab__pfe04_isbn_feature_id) > 0},“gtin”{/if}
{if intval($ab__pfe04_gtin_feature_id) > 0},“gtin”{/if}
{if intval($ab__pfe04_mpn_feature_id) > 0},“MPN”{/if}
{/strip}

{$params = [‘google_rm’ => true, ‘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|fn_ab__pfe04_escape_csv nofilter}"
{if $product.short_description}
,"{$product.short_description|fn_ab__pfe04_escape_csv nofilter}"
{else}
,"{$product.full_description|fn_ab__pfe04_escape_csv nofilter}"
{/if}
,"{$product.url nofilter}"
{$image_url = ‘’}
{if $product.images}
{$image_url = $product.images|reset}
{/if}
,"{$image_url nofilter}"
{if $product.avail_since > $smarty.const.TIME}
,“preorder”
{elseif !($product.zero_price_action == “R” && $product.price == 0) && !($settings.General.inventory_tracking == “Y” && $settings.General.allow_negative_amount != “Y” && (($product.amount <= 0 || $product.amount < $product.min_qty) && $product.tracking != “ProductTracking::DO_NOT_TRACK”|enum) && $product.is_edp != “Y”)}
,“in stock”
{else}
,“out of stock”
{/if}
{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.ab__pfe04_condition nofilter}"
{if $ab__pfe04_brand == ‘Y’},"{$product.brand|fn_ab__pfe04_escape_csv nofilter}"{/if}
{if $ab__pfe04_product_type == ‘Y’},"{$product.main_category|fn_ab__pfe04_create_product_type|fn_ab__pfe04_escape_csv nofilter}"{/if}
{if $ab__pfe04_google_product_category == ‘Y’},"{$categories.{$product.main_category}.ab__pfe04_google_product_category|fn_ab__pfe04_escape_csv nofilter}"{/if}
{if intval($ab__pfe04_isbn_feature_id) > 0},"{$product.isbn|fn_ab__pfe04_escape_csv nofilter}"{/if}
{if intval($ab__pfe04_gtin_feature_id) > 0},"{$product.gtin|fn_ab__pfe04_escape_csv nofilter}"{/if}
{if intval($ab__pfe04_mpn_feature_id) > 0},"{$product.mpn|fn_ab__pfe04_escape_csv nofilter}"{/if}
{/strip}

{/foreach}
{/if}
{/while}

Вы имеете ввиду этот шаблон?
Подскажите как правильно это сделать, пожалуйста)

А почему id категорий может не верно писать, стандартный шаблон, товар добавлен в несколько категорий, вместо основной категории ставит id дополнительной.

Основная категория выгружается?