Вывод обязательных товаров в категории

Подскажите, пожалуйста, в каком файле и как мне передать обязательные товары в массив $product на странице категории товаров… мне нужно вывести там обязательный товар и его цену рядом с товаром, но у меня никак не получается… Пытаюсь сделать это в app/controllers/frontend/categories.php
но получаю ошибку что неопределено что такое $product_id… Подскажите как это сделать правильно, пожалуйста…

$products_in_category = fn_get_products(array(
‘category_id’ => $_REQUEST[‘category_id’],
‘status’ => ‘A’,
));

$required_products_data = array();

foreach ($products_in_category as $product) {
    $product_id = $product['product_id'];

    $required_products = fn_get_required_products($product_id);

    $required_products_data[$product_id] = $required_products;
}

Tygh::$app['view']->assign('required_products_data', $required_products_data);

Хочу добиться такого вот результата

foreach ($products as $product) {
$product = reset($products);
$product_id = $product[‘product_id’];

    $required_products = db_get_fields('SELECT required_id FROM ?:product_required_products WHERE product_id = ?i', $product_id);
}

Tygh::$app['view']->assign('required_products', $required_products);</code>

Так я получаю id обязательного товара, но теперь не знаю как мне получить его данные…

Попробуйте после

$required_products = db_get_fields('SELECT required_id FROM ?:product_required_products WHERE product_id = ?i', $product_id);

добавить

list($required_products, ) = fn_get_products([
    'pid' => $required_products
]);
fn_gather_additional_products_data($required_products, array(
            'get_icon' => true,
            'get_detailed' => true,
            'get_additional' => true,
            'get_options'=> true
));
2 лайка

Спасибо)

а как вывести цену правильно для обязательных товаров ? пробовал сделать так но пустота

{if !empty($product.required_products)} {foreach from=$product.required_products item="required_product"} {*

{$required_product.price}

*} {assign var="rq_obj_id" value=$required_product.product_id} {$price="price_`$rq_obj_id`"} {$smarty.capture.$price} {/foreach} {/if}

common/product_data.tpl используете?

1 лайк

да, в начале моей таблицы используется {include file=“common/product_data.tpl” product=$product show_labels_in_title=$show_labels_in_title}

я так понимаю нужно как-то так сделать
{include file=“common/product_data.tpl” product=$required_product show_labels_in_title=$show_labels_in_title}
{$price=“price_$obj_id”}
{$smarty.capture.$price nofilter} ?

Примерно так

{assign var="obj_id" value=$required_product.product_id}
{include file=“common/product_data.tpl” product=$required_product}
{$price="price_`$obj_id`"}
{$smarty.capture.$price nofilter}
2 лайка

Добрый день) а подскажите, пожалуйста, возможно ли через пост контроллер категории дополнять массив продукта, а не перезаписывать его ?

Вы про витрину?

Тогда так

$products = Tygh::$app['view']->getTemplateVars('products');
...
дополняем
...
Tygh::$app['view']->assign('products', $products);
1 лайк