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

Есть модуль от AB: Универсальный товарный экспорт товара
Вроде все ясно и понятно, но столкнулся с такой проблемой дилеры просят файл XML и что бы в нем были прикрепленые файлы (PDF инструкции), что я смог сделать, это вставить вот такой кусок кода в шаблон и затык…
<attachments>{"attachments.getfile?attachment_id=$file.attachment_id"|fn_url}</attachments>
у меня стало выводиться, но без ID номера.

<attachments>
https://мой сайт/index.php?dispatch=attachments.getfile&attachment_id=
</attachments>

Помогите решить проблему, спасибо.

РЕШЕНИЕ

{$attachments_data = fn_get_attachments('product', $product.product_id, 'M')}
{foreach from=$attachments_data item="file"}
            <attachments>{"attachments.getfile?attachment_id=`$file.attachment_id`"|fn_url}</attachments>
{/foreach}

У Вас на момент рендера нет никакого $file.
Сначала нужно по товару подтянуть список аттачментов, потом через foreach их перебрать и рендерить тогда только ссылку.

1 лайк

пробую вызвать attachments через вот такое выражение, но выдает ошибку…

{if $product.attachment}
{foreach $product.attachment as $file.attachment_id}
            <attachments>{"attachments.getfile?attachment_id=`$file.attachment_id`"|fn_url}</attachments>
{/foreach}
{/if}

что то я запутался и уже не могу понять

И так тоже не правильно :rage: :rage: :rage:

{if $attachments}
{foreach $attachments as $file.attachment_id}

Ещё раз говорю :saluting_face:

Никаких $product.attachment и $attachments там нет.
Хоть как угодно напишите, Вы его там не найдёте сейчас.

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

Вот так правильно, может кому поможет это решение

{$attachments_data = fn_get_attachments('product', $product.product_id, 'M')}
{foreach from=$attachments_data item="file"}
            <attachments>{"attachments.getfile?attachment_id=`$file.attachment_id`"|fn_url}</attachments>
{/foreach}
4 лайка

Извините, не заходил на форум, только сейчас увидел.

Вы большой молодец!
Да, теперь Вы получили список прикреплённых файлов.

1 лайк

Прикреплю сюда выгрузку в формате YML (Яндекса)

{** general **}
<?xml version="1.0" encoding="{$abpfe_p1}"?>
<yml_catalog date="{"Y-m-d H:i"|date}">
    <shop>
        <name>{$settings.Company.company_name}</name>
        <url>{$settings.Company.company_website}</url>
{* Currencies *}
{if $currencies && is_array($currencies)}
        <currencies>
{foreach $currencies as $currency_code => $currency}
            <currency id="{$currency_code}" rate="1"/>
{/foreach}
        </currencies>
{/if}
{* Categories *}
{if $categories && is_array($categories)}
        <categories>
{foreach $categories as $category_id => $category}
            <category id="{$category_id}"{if $category.parent_id>0 && $categories.{$category.parent_id}} parent_id="{$category.parent_id}"{/if}>{$category.category}</category>
{/foreach}
        </categories>
{/if}

{* Products *}
    <offers>
{$params = ['items_per_page' => 1000, 'categories' => $categories, 'get_images' => true, 'get_features' => true]}
{while $products = fn__pfe_get_offers($datafeed, $params)}
{foreach $products as $product}
        <offer id="{$product.product_id}"{if $product.variation_group_id} group_id="{$product.variation_group_id}"{/if} available="true" quantity="{$product.amount}">
            <name>{$product.product}</name>
            <vendorCode>{$product.product_code}</vendorCode>
            <url>{$product.url}</url>
            <price>{$product.price}</price>
            <oldprice>{$product.list_price|fn_format_price_by_currency:$datafeed.currency_code}</oldprice>
            <currencyId>{$currency_code}</currencyId>
            <categoryId>{$product.category_id}</categoryId>
            <description><![CDATA[{$product.full_description|strip_tags nofilter} ]]></description>

{$attachments_data = fn_get_attachments('product', $product.product_id, 'M')}
{foreach from=$attachments_data item="file"}
            <attachments>{"attachments.getfile?attachment_id=`$file.attachment_id`"|fn_url}</attachments>
{/foreach}

{if $product.brand}
            <vendor>{$product.brand}</vendor>
{/if}

{if $product.features}          
{foreach $product.features as $feature}
                <param name="{$feature.name}">{$feature.value}</param>
{/foreach}
            
{/if}
{if $product.images}
{foreach $product.images as $image_url}
            <picture>{$image_url}</picture>
{/foreach}
{/if}
        </offer>
{/foreach}
{/while}
    </offers>

    </shop>
</yml_catalog>