Задать вопрос
@filippovanatoliy
Вот начал погружаться в кодинг)

Как группировать товары в корзине по родительской категории в Opencart 2?

Здравствуйте! Подскажите пожалуйста, как в корзине opencart сделали группировку товаров по категории? Причем я так понял, именно по родительской, так как товар может быть в двух и более категориях. Вот сайт пример: assorti62.ru (Скрин корзины: 62f4b69249934406bee1f6f15a046c7c.jpg )

Я так понимаю, работать надо с контроллером cart.php и моделью cart.tpl

То есть выдирать id родительской категории у товара, сравнивать есть ли еще у кого такой, делать новый массив и выводить в tpl те данные? Но как это сделать я вообще хз, тем более в php чутьменее чем ноль. Или может вы встречали какой то модуль или модификацию? Был бы очень благодарен

Спасибо
  • Вопрос задан
  • 319 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@demkas
class ModelCatalogCustom extends Model {
public function getproductcategory($product_id){
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");
$category = $this->getCategory($query->row['category_id']);
return $category['name'];
}
public function getCategory($category_id) {
$query = $this->db->query("SELECT DISTINCT *, (SELECT GROUP_CONCAT(cd1.name ORDER BY level SEPARATOR '  >  ') FROM " . DB_PREFIX . "category_path cp LEFT JOIN " . DB_PREFIX . "category_description cd1 ON (cp.path_id = cd1.category_id AND cp.category_id != cp.path_id) WHERE cp.category_id = c.category_id AND cd1.language_id = '" . (int)$this->config->get('config_language_id') . "' GROUP BY cp.category_id) AS path, (SELECT DISTINCT keyword FROM " . DB_PREFIX . "url_alias WHERE query = 'category_id=" . (int)$category_id . "') AS keyword FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_description cd2 ON (c.category_id = cd2.category_id) WHERE c.category_id = '" . (int)$category_id . "' AND cd2.language_id = '" . (int)$this->config->get('config_language_id') . "'");
return $query->row;
}}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы