на одном из проектов мини карточка товара формируется и выводится в
категории, поиске, акциях, производителе, модулях окдевизарда и тд
сверху на это ложатся всякие модификаторы для опций в категории тд
в фигме мы видим, что все карточки товара везде выглядят одинаково
а значит момент формирования и вывода желательно унифицировать
формируем новый контроллер на основе модифицированного контроллера категории. тк в этот контроллер попали все необходимые модификации
вьюшку соответственно сформируем на основе модифицированной вьюшки категории по той же причине
технические детали пропустим (за 10 комментов и дополню статью)
на выходе мы получаем унифицированный контроллер для получения html карточки товара
используем как-то так
$data['products_thumb'][] = $this->load->controller("product/thumb/getThumb", $result['product_id']);
минус этого подхода состоим в том, что нужно будет подогнать контроллеры, в которых формируются карточки
чтобы решить эту траблу можно сделать модификатор, который сделает что-то подобное
foreach ($results as $result) {
$data['products_thumb'][] = $this->load->controller("product/thumb/getThumb", $result['product_id']);
continue;
//тут старый код, который не будет выполняться
второй минус в том, что отключения модификаторов для категории никак не повлияет на карточки
на боевом магазине все это провернуть однозначно не так просто. лучше это делать на ранних этапах проектирования
стоит ли игра свеч?