Исправление ошибки в общем каталоге товаров

Автор HelpPlease, 07 ноября 2019, 23:30:16

« назад - далее »

HelpPlease

На странице с товаром всё работает и выводит самую низкую цену
Вставлено в catalog\_partials\product-prices.tpl
<span itemprop="price">  {foreach from=$product.quantity_discounts item='quantity_discount' name='quantity_discounts'}
        {/foreach}
        {$quantity_discount.price * 1} ₽</span>

Изображение 1

При выводе такого же кода в общем каталоге товаров везде пишется 0
Вставлено в catalog\_partials\miniatures\product.tpl
Изображение 2
Как исправить?

Adik

В блок какой код добавляете? Такой код добавьте:
{$product.quantity_discounts|var_dump}
что покажет?

HelpPlease

Цитата: Adik от 08 ноября 2019, 14:10:41
В блок какой код добавляете? Такой код добавьте:
{$product.quantity_discounts|var_dump}
что покажет?
Пустоту показывает
array(0) { }

Adik

Переменная в контроллере не определена, чтобы ее использовать в этом шаблоне, нужно в контроллере Product ее определить.

HelpPlease

Цитата: Adik от 09 ноября 2019, 12:08:06
Переменная в контроллере не определена, чтобы ее использовать в этом шаблоне, нужно в контроллере Product ее определить.
И так прописано

Adik


PrestaMan

Цитата: Adik от 10 ноября 2019, 12:22:35
В
$this->context->smarty->assign(array(
нет такой.
В методе getTemplateVarProduct
...
$product_full['quantity_discounts'] = $this->quantity_discounts;

Видимость только на страницах товара.
На страницах категоория нельзя использовать без переопределения контроллера.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!

mAgency

Была же уже такая тема для Prestashop 1.6. На 1.7 тоже должно работать.
В CategoryController.php (или переопределить) в assignProductList
foreach ($this->cat_products as &$product) {
        $product['quantity_discount'] = SpecificPrice::getQuantityDiscounts((int)$product['id_product'], (int)Shop::getCurrentShop(), (int)self::$cookie->id_currency, $id_country, $id_group);
        if (isset($product['id_product_attribute']) && $product['id_product_attribute'] && isset($product['product_attribute_minimal_quantity'])) {
                $product['minimal_quantity'] = $product['product_attribute_minimal_quantity'];
        }
}
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.

HelpPlease

Цитата: mAgency от 10 ноября 2019, 14:32:53
Была же уже такая тема для Prestashop 1.6. На 1.7 тоже должно работать.
В CategoryController.php (или переопределить) в assignProductList
foreach ($this->cat_products as &$product) {
        $product['quantity_discount'] = SpecificPrice::getQuantityDiscounts((int)$product['id_product'], (int)Shop::getCurrentShop(), (int)self::$cookie->id_currency, $id_country, $id_group);
        if (isset($product['id_product_attribute']) && $product['id_product_attribute'] && isset($product['product_attribute_minimal_quantity'])) {
                $product['minimal_quantity'] = $product['product_attribute_minimal_quantity'];
        }
}


В \controllers\front\listing\CategoryController.php ?

HelpPlease

Цитата: mAgency от 10 ноября 2019, 14:32:53
Была же уже такая тема для Prestashop 1.6. На 1.7 тоже должно работать.
В CategoryController.php (или переопределить) в assignProductList
foreach ($this->cat_products as &$product) {
        $product['quantity_discount'] = SpecificPrice::getQuantityDiscounts((int)$product['id_product'], (int)Shop::getCurrentShop(), (int)self::$cookie->id_currency, $id_country, $id_group);
        if (isset($product['id_product_attribute']) && $product['id_product_attribute'] && isset($product['product_attribute_minimal_quantity'])) {
                $product['minimal_quantity'] = $product['product_attribute_minimal_quantity'];
        }
}

Просто там даже assignProductList функции нет)

Adik

В классе /classes/Category.php в getProducts можно добавить quantity_discount.

HelpPlease

Цитата: Adik от 15 ноября 2019, 14:05:21
В классе /classes/Category.php в getProducts можно добавить quantity_discount.
Не подскажите конкретнее?