Opencart 3x
Привет. Это будет работать не только для опций товара, но и для других переменных товара. Я показываю на примере вывода уникальных опций товара в модуле "Хиты продаж". Можно переделать, переименовывая нужные переменные (ну например атрибуты товара) и обращаясь к нужным функциям. Не только в хитах, также в любых других модулях или даже в категории/карточке товара/.....
Парился весь вечер, решение оказалось проще некуда.
Мне нужно было вывести только уникальные опции товара. Тут вы спросите - "- а как опции могут быть повторяющимися? Сам же в админке выбираешь опции, ну не делай дубли там и будет тебе счастье. "
Вот как опции могут быть повторяющимися и, в то же время уникальными - есть плагин (или сам напишешь) из категории "связанные опции товара". Давать название не буду, не реклама. Кому надо спросит в личку. Так вот теперь представьте что у вас есть 1 товар - пальто.
Это пальто, в количестве на складе 10 штук в своих цветах и размерах.
Из них в админке мы делаем зависимые опции: 56 размер черный, 56 размер белый, 54 размер белый, 54 размер красный.... и так далее
Если мы будем выводить все имеющиеся опции товара (например, размер), то получим результат такой: 56, 56, 54, 54
Ну вот вам и повторяющиеся опции товара. Что делаем теперь? Нам нужно избавиться от дублей на фронте - согласитесь что юзер/заказчик, посмотрев на вывод размеров в выводе каждого товара, скажет - "- а почему на сайте размеры выводятся с повторением?"
Поэтому делаем так: эти куски кода взяты из оригинального контроллера catalog/controller/product/product.php
идем в catalog/controller/extension/module/bestseller.php
Закончили тут.
Идем в catalog/model/catalog/product.php
в twig вывод такой же как и в карточке например.
Готово.
Если есть способ не изменять model/product.php, и сделать это в catalog/controller/product/product.php что-то вроде array_unique($array); то пишите, буду признателен,