Почему путь к изображению не полный в msProducts?
Всех приветствую!
Пытаюсь вывести карточки товара с дополнительным полем изображения (system_imagePage) использую msProducts. Но путь к изображению формируется неполный.
Чанк
Для изображений использую кастомный источник файлов.
Параметры:
Проблема
Ссылка на изобржение выводится не полная, без пути указаного в источнике файлов.
Выводит:
Если вместо msProducts использовать pdoResources изображения выводятся корректно
Пытаюсь вывести карточки товара с дополнительным полем изображения (system_imagePage) использую msProducts. Но путь к изображению формируется неполный.
{$_modx->runSnippet('msProducts', [
'showHidden' => 0,
'showUnpublished' => 1,
'parents' => 24,
'depth' => 0,
'scheme'=> 'abs',
'sortby' => '{«menuindex»:«ASC»}',
'tvPrefix'=>'',
'includeTVs' => 'catalog_heatingAreaLabel, system_imagePage',
'useWeblinkUrl' => '1',
'tpl' => '@FILE default/chunks/tpl/catalog/item/card.tpl'
])}
Чанк
<div class="col-12 col-md-6 col-xl-4">
<div class="catalog-item">
<div class="catalog-item__stickers">
{if $new} <div class="catalog-item__sticker">Новинка</div> {/if}
{if $popular} <div class="catalog-item__sticker">Хит</div> {/if}
{if $favorite} <div class="catalog-item__sticker">Рекомендуем</div> {/if}
</div>
<div class="catalog-item__top">
<div class="catalog-item__image">
<img src="{$system_imagePage}" alt="{$pagetitle}">
</div>
<div class="catalog-item__title"><a class="link-primary" href="{$id | url}">{$pagetitle}</a></div>
<div class="catalog-item__label">{$catalog_heatingAreaLabel}</div>
<div class="catalog-item__characteristics">
{$_modx->runSnippet('msProductOptions', [
'product' => $id,
'tpl' => '@FILE default/chunks/tpl/catalog/item/options.tpl',
'onlyOptions' => 'thermalPower, dimensions, fuelСonsumption, MaximumLogLength, waterVolume, weightWithoutWater'
])}
</div>
<div class="catalog-item__price-wrapper">
<span class="catalog-item__price">{$price} ₽</span>
{if $old_price != 0}
<span class="catalog-item__old-price">{$old_price} ₽</span>
{/if}
</div>
</div>
<div class="catalog-item__bottom">
<form class="form-horizontal ms2_form" method="post">
<input type="hidden" name="id" value="{$id}"/>
<input type="hidden" name="count" id="product_price" class="form-control col-md-6" value="1"/>
<button type="submit" class="btn btn--block btn--brand js-catalog-btn-buy" name="ms2_action"
value="cart/add">
Купить
</button>
</form>
<a href="{$id | url}" class="mt-3 btn btn--block
">Подробнее</a>
</div>
</div>
</div>
Параметры:
basePath — /assets/media/
basePathRelative — Да
baseUrl — /assets/media/
baseUrlRelative — Да
Проблема
Ссылка на изобржение выводится не полная, без пути указаного в источнике файлов.
Выводит:
resources/25/sx13ym-10.jpg
Должно быть:/assets/media/resources/25/sx13ym-10.jpg
Если вместо msProducts использовать pdoResources изображения выводятся корректно
Комментарии: 3
У pdoResources есть параметры prepareTVs и processTVs.
msProducts просто тащит то, что записано в БД, а там путь относительно источника файлов.
msProducts просто тащит то, что записано в БД, а там путь относительно источника файлов.
Вроде как Msproducts наследует параметры от pdoResourses. Не получится его заставить нормальные пути формировать?
Потому что в minishop2 Есть своя галерея и в msProduct выключена по умолчанию обработка ТВ-шек. Если прям горит включить, то используйте параметр
'processTVs'=>'system_imagePage'
должно помочь. если нет, то попробуйте еще — prepareTVs
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.