Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

сортировка в корзине


Recommended Posts

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

 

\catalog\view\theme\default\template\checkout\cart.tpl

 

т.е. в основной корзине, в мини корзине - оставить как есть.

 

спасибо, если это возможно.

Надіслати
Поділитися на інших сайтах


в заказах и админке сортировку таблиц по имени сделал просто:

 

в

\catalog\model\account\order.php

добавил
 
	public function getOrderProducts($order_id) {
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'ORDER BY name");
	
		return $query->rows;
	}

в

\catalog\model\checkout\order.php

добавил

					$order_product_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = '" . (int)$order_id . "'ORDER BY name");

а как сделать в корзине (не мини) и чекауте:

 

\catalog\view\theme\default\template\checkout\cart.tpl
\catalog\view\theme\default\template\checkout\checkout.tpl
 

не пойму никак..

 

Помогите, кто в теме, плиз!

 

(1.5.4.1 без наворотов)

 

Надіслати
Поділитися на інших сайтах


  • 2 weeks later...
$products = $this->cart->getProducts();

foreach ($products as $product) {

перед циклом, любым известным методом отсортировать по

$products[]['name'];

Надіслати
Поділитися на інших сайтах

function sort_name($a, $b)
{
   return ($a['name'] <= $b['name']) ? -1 : 1;
}
class ControllerCheckoutCart extends Controller {
....


public function index() {
......

$products = $this->cart->getProducts();
.....
usort($products, "sort_name");
foreach ($products as $product) {

ControllerCheckoutCart вот здесь

  • +1 1
Надіслати
Поділитися на інших сайтах

Спасибо!

 

В корзине работает отлично, то, что нужно!

 

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

 

Но почему-то не работает ((

 

\controller\checkout\checkout.php
 
<?php  

function sort_name($a, $b)
{
   return ($a['name'] <= $b['name']) ? -1 : 1;
}

class ControllerCheckoutCheckout extends Controller { 
	public function index() {
		// Validate cart has products and has stock.
		if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
	  		$this->redirect($this->url->link('checkout/cart'));
    	}	
		
		// Validate minimum quantity requirments.			
		$products = $this->cart->getProducts();
				
		usort($products, "sort_name");
		foreach ($products as $product) {
			$product_total = 0;

Что не так?

Надіслати
Поділитися на інших сайтах


  • 4 years later...
В 16.11.2014 в 12:40, dm82 сказал:

\controller\checkout\checkout.php

 

<?php  

function sort_name($a, $b)
{
   return ($a['name'] <= $b['name']) ? -1 : 1;
}

class ControllerCheckoutCheckout extends Controller { 
	public function index() {
		// Validate cart has products and has stock.
		if ((!$this->cart->hasProducts() && empty($this->session->data['vouchers'])) || (!$this->cart->hasStock() && !$this->config->get('config_stock_checkout'))) {
	  		$this->redirect($this->url->link('checkout/cart'));
    	}	
		
		// Validate minimum quantity requirments.			
		$products = $this->cart->getProducts();
				
		usort($products, "sort_name");
		foreach ($products as $product) {
			$product_total = 0;

 

Дело в том что функция foreach ($products as $products) - не охватывает data[products] - следовательно сортировать то и нечего. Хотя на сколько я понял тут ваще мешает аякс отработать подобному скрипту сортировки. Та же проблема - не выходит ничего

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.