В файле: /catalog/view/theme/unishop2/template/extension/module/featured.twig есть переменная: {{ product.discounts }} В браузере она выводится так: [{'quantity':'20','price':122},{'quantity':'100','price':118},{'quantity':'300','price':116},{'quantity':'500','price':114},{'quantity':'1000','price':109}] Мне нужно, чтобы цена показывалась «от [максимальная скидка от количества]». Пробовал так: {{ product.discounts|last.price }} и {{ product.discounts|last['price'] }} Но не работает.
Вы наугад делаете? Не читая, что за что отвечает? Если с текстом Вы работаете как с массивом, то поведение верное. Вы ведь показываете не просто текст, а формат json ? Он что изначально так выводится? Нет. Лучше напишите автору шаблона, обычно он не отказывается.
Решение: Нужно в контроллере перед $data['products'][] = array( добавить $discounts = $this->model_catalog_product->getProductDiscounts($result['product_id']); и после 'rating' => $rating, добавить 'discounts' => $discounts, И потом уже выводить условия в шаблоне.