Проблема с выводом товаров на странице приложения "Сайт" Есть решение
Есть задача - вывести карточку товара на странице приложения "Сайт".
Товар выводится в блоке через {$p = $wa->shop->product($product_id)}
Тут и возникает проблема.
Если параметры $p.features_selectable, $p.skus, $p.price выводятся без проблем, то, нужный мне, $p.sku_features выдает null, хотя в самом магазине {$p.sku_features|@debug_print_var} выводит:
Array (2)
12 => 7
13 => 10
Возможен ли вообще вывод такого параметра через "Сайт"?
Помогите разобраться, что и где я пропустил и в каком вообще направлении копать?
p.s. $p.sku_features нужен для реализации определения дефолтного значения при выборе характеристик товара.
{$default_sku_features = $p.sku_features}
<div class="options">
{foreach $p.features_selectable as $f}
<div class="inline-select{if $f.type == 'color'} color{/if}">
{foreach $f.values as $v_id => $v}
<a data-value="{$v_id}" href="#"{if $v_id == ifset($default_sku_features[$f.id])} class="selected"{/if}{if $f.type == 'color'} style="{$v->style}; margin-bottom: 20px;"{/if}>
{if $f.type == 'color'} <i class="icon16 checkmark color_checkmark"></i>{/if}
{if $f.type == 'color'} <span class="color_name">{strip_tags($v)}</span>{else}{$v}{/if}
</a>
{/foreach}
<input type="hidden" data-feature-id="{$f.id}" class="sku-feature" name="features[{$f.id}]" value="{ifset($default_sku_features[$f.id])}">
</div>
{/foreach}
</div>
2 ответа
sku_features никогда и нельзя было получить через $wa->shop. Независимо от активного приложения.
Вам придётся написать свой хэлпер и получать данные через него.
См. shopProductFeaturesModel->getSkuFeatures().
Пример использования есть в контроллере
lib/actions/frontend/shopFrontendProduct.action.php
(который, кстати, и грузит данные в шаблон product.html/product.cart.html, где вас смутило наличие $product.sku_features).
Если че - я написал плагин виджетов, который может выводить любые товары на любом сайте
Он просто выдает код виджета по отмеченным товарам. можно совать на другие ресурсы.