Есть модуль от 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}
что то я запутался и уже не могу понять
Ещё раз говорю 
Никаких $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>