Opencart проблема с выводом категорий для товара

Opencart Версия 2.3.0.2.1 Нужно на странице с товарами, в каждом блоке товара, вывести все категории к которым прикреплен данный товар. У меня получается вывести либо одну категорию, либо все и сразу. В карточке товара все работает отлично... Код с контроллера карточки товара:

        $product_info = $this->model_catalog_product->getProduct($product_id);
    $categories = $this->model_catalog_product->getCategories($product_id);
    if ($categories) {
        foreach ($categories as $category) {
            $categories_info = $this->model_catalog_category->getCategory($category['category_id']);
            $data['category_name'][] =  array(
                'name' => $categories_info['name']
            );
            
        }
    } else {
        $data['category_name'] = '';
    }

Код с контроллера категорий товара(выводит только одну категорию):

          if ($categories) {
            $categories_info = $this->model_catalog_category->getCategory($categories[0]['category_id']);
            $category_name =  $categories_info['name'];
        } else {
            $category_name = '';
        }
            $data['products'][] = array(
            'product_id'  => $result['product_id'],
            'thumb'       => $image,
            'name'        => $result['name'],
            'sku'        => $result['sku'],
            'price'     => $price,
            'category_name'  => $category_name,
            'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',
            'shot_description' => strip_tags(html_entity_decode($result['shot_description'], ENT_QUOTES, 'UTF-8')),
            'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
            'rating'      => $result['rating'],
            'href'        => $this->url->link('product/product', 'product_id=' . $result['product_id'] . $url)
        );

Ответы (0 шт):