rolfanya

[Решено] Категории товара в корзине

Рекомендуемые сообщения

rolfanya    0

Сделал сортировку по категориям в корзине 

0591e-cb9d85bc-0e94-417f-9c3f-17ab56f186

но вот как категории сделать ка здесь , никак не пойму

0591e-66f8b1bf-0de9-43de-9b2f-e1e4fe494c

кто то сталкивался с таким?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Exploits    146

Код не сделаю т.к. нет времени. Но.

1) Делаем выборку всех товаров

2) Циклом загоняем товары в массив предварительно делаа выборку категории.

Вот схематически:

 

$products_data = $this->выбор_товара(); //пример

foreach($products_data as $product){

  $category_name = $this->getProductCategory(); //пример

  $this->data['categories'][$category_name][] = array(

      все данные продукта 

  );

}

 

 

А потом в корзине циклом:

 

foreach($categories as $category_name=>$products){

  echo $category_name //имя категории

  foreach($products as $product){

    вывод продуктов категории

  }

}

 

 

в общем примерно так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
rolfanya    0
Exploits спасибо за подсказку в нужном направлении, все получилось, теперь корзина выглядит так как нужно

0591e-8ce7e4fc-0e7b-460e-8036-1155647d15

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
GwindorSerg    0
В 01.10.2015 в 01:39, rolfanya сказал:

Exploits спасибо за подсказку в нужном направлении, все получилось, теперь корзина выглядит так как нужно

 

  Показать контент

0591e-8ce7e4fc-0e7b-460e-8036-1155647d15

 

Прошу прощения, понимаю, что прошло много времени, не не могли бы вы поделиться более подробными выкладками по реализации сией красоты?

 

В 30.09.2015 в 12:34, rolfanya сказал:

Сделал сортировку по категориям в корзине 

Как привязать категории к корзине?

 

Как я понимаю нужно изменить запрос к БД в файле /system/library/cart.php добавив в него информацию о категориях?

$product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "' AND p.date_available <= NOW() AND p.status = '1'");

 

Вообще, у меня есть задумка сделать количественную скидку на товар из определенной категории.

То есть, чтобы скидка работала не от количества одного товара, как в стандарте Opencart, а от общего кол-ва товара из определенной категории.

 

Файл  xml и то что считает сейчас корзина

disc_Clover.xml

my_cart.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
GwindorSerg    0

Смысл такой- когда кол-во любых крючков Clover достигает 5шт, то базовая цена меняется с 410руб. на 390руб. (скидка 5%)
Когда кол-во любых крючков Clover достигает 10шт, то цена меняется на 369руб. (скидка 10%)

Но правильное изменение цены происходит только у последнего товара из нужной категории в списке товаров корзины

Затык, я думаю в массиве или его отсутствии в районе штатного массива foreach ($products as $product) в файле  /catalog/controller/checkout/cart.php
Как-то надо сделать, чтобы корзина выводила пересчитанное значение $price для всех товаров из нужной категории

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу