Перейти к содержанию
dm82

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

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

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

 

\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 без наворотов)

 

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


Ссылка на сообщение
Поделиться на другие сайты
$products = $this->cart->getProducts();

foreach ($products as $product) {

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

$products[]['name'];

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


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

спасибо за ответ, в php не силен, можно код целиком?

 

В каком это файле?

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


Ссылка на сообщение
Поделиться на другие сайты
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 вот здесь

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


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

Спасибо!

 

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

 

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

 

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

 

\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;

Что не так?

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


Ссылка на сообщение
Поделиться на другие сайты
В 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] - следовательно сортировать то и нечего. Хотя на сколько я понял тут ваще мешает аякс отработать подобному скрипту сортировки. Та же проблема - не выходит ничего

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Вы комментируете как гость. Если у вас есть аккаунт, пожалуйста, войдите
Ответить в этой теме...

×   Вы вставили контент с форматированием.   Удалить форматирование

  Разрешено использовать не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От matroskin92
      300.00 руб
      Скачать/Купить дополнение


      Так же покупают
      Вывод рекомендуемых товаров на основе аналогичных покупок других клиентов вашего интернет-магазина. Чем больше и разнообразнее покупки, тем более точны будут рекомендации модуля в последующем.
       
      ДЕМО
      OPENCART 3
      OPENCART 2.3
      Для того, чтобы увидеть результат работы модуля, добавьте в корзину товар Ipad Classic и перейдите на страницу корзины.
       
      УСТАНОВКА
      Установите модуль стандартым способом Активируйте в списке модулей и произведите необходимую настройку модуля. Добавьте вывод модуля в нужный Вам макет на нужную позицию. (Это не обязательно макет корзины).  
      ОБРАЩАЮ ВНИМАНИЕ
      Если в Вашем интернет-магазине не было покупок или каждая из покупок не содержала больше 1 товара, то модулю нечего будет рекомендовать другим покупателям.
       
      Добавил matroskin92 Добавлено 11.03.2019 Категория Покупки, оформление заказа, корзина Системные требования PHP > 5.6 Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3 ocStore 3.0
      2.3 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
    • От sv2109
      350.00 руб
      Скачать/Купить дополнение


      Option Image Change - Изменение картинки товара в зависимости от опции
      Что делает этот модуль?
      Модуль дает возможность изменять изображение на странице товара в зависимости от выбранной опции для этого товара.
      Для этого в админ панели при создании / редактировании товара к нужным изображениям привязываются определенные опции.
       
      Установка
      1. Скопировать все с папки "upload" в корневую папку вашего магазина. Файлы движка не будут перезаписаны.
      2. Установить модуль в панели управления
      3. При необходимости поменяйте настройки
       
      Новое в версии 1.1:
      - добавлена возможность выбирать несколько опций для 1 изображения
      - изображение в корзине соответствует выбранным опциям
       
      Версии движка, на которых тестировался модуль
      - ocStore v1.5.4.1
      - ocStore v1.5.5.1
      - opencart v1.5.6
      но должен работать на всех 1.5.х версиях
      - OpenCart, ocStore 2.0, 2.1, 2.2, 2.3, 3.x  (для получения этих версий - пишите в ЛС автору или на почту sv2109@gmail.com)
       
      Демонстрация работы
       
      Добавил sv2109 Добавлено 27.03.2014 Категория Опции Системные требования Сайт разработчика http://sv2109.com Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1 OpenCart.Pro, ocShop Обращение к серверу разработчика  
    • От sv2109
      Что делает этот модуль?
      Модуль дает возможность изменять изображение на странице товара в зависимости от выбранной опции для этого товара.
      Для этого в админ панели при создании / редактировании товара к нужным изображениям привязываются определенные опции.
       
      Установка
      1. Скопировать все с папки "upload" в корневую папку вашего магазина. Файлы движка не будут перезаписаны.
      2. Установить модуль в панели управления
      3. При необходимости поменяйте настройки
       
      Новое в версии 1.1:
      - добавлена возможность выбирать несколько опций для 1 изображения
      - изображение в корзине соответствует выбранным опциям
       
      Версии движка, на которых тестировался модуль
      - ocStore v1.5.4.1
      - ocStore v1.5.5.1
      - opencart v1.5.6
      но должен работать на всех 1.5.х версиях
      - OpenCart, ocStore 2.0, 2.1, 2.2, 2.3, 3.x  (для получения этих версий - пишите в ЛС автору или на почту sv2109@gmail.com)
       
      Демонстрация работы
       
    • От matroskin92
      450.00 руб
      Скачать/Купить дополнение


      Экспорт корзины в Excel
      Исходя из опыта работы с юридическими лицами, до сих пор многим контрагентам требуется экспорт корзины в формате Excel. Это простое решение, позволяющие сохранить текущую корзину клиента на его компьютер в формат .XLSX нажатием одной клавиши. 
       
      Больше ни один контрагент не потеряет свою корзину на Вашем сайте, а так же не будет присылать скриншоты или фотографии экрана своей корзины Вам на почту.
       
      УСТАНОВКА
      Установите модуль стандартым способом Активируйте в списке модулей и произведите необходимую настройку модуля. Добавьте вывод модуля в нужный Вам макет на нужную позицию.
      ДЕМО OPENCART 3
       
      OPENCART 2.3
      Если будет предметный интерес.
       
      ПОДДЕРЖКА
      Поддержка в личных сообщениях и в комментариях в соответствующей теме на форуме
       
      Добавил matroskin92 Добавлено 07.03.2019 Категория Покупки, оформление заказа, корзина Системные требования Сайт разработчика matro.site Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0 ocStore 3.0 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
    • От matroskin92
      Исходя из опыта работы с юридическими лицами, до сих пор многим контрагентам требуется экспорт корзины в формате Excel. Это простое решение, позволяющие сохранить текущую корзину клиента на его компьютер в формат .XLSX нажатием одной клавиши. 
       
      Больше ни один контрагент не потеряет свою корзину на Вашем сайте, а так же не будет присылать скриншоты или фотографии экрана своей корзины Вам на почту.
       
      УСТАНОВКА
      Установите модуль стандартым способом Активируйте в списке модулей и произведите необходимую настройку модуля. Добавьте вывод модуля в нужный Вам макет на нужную позицию.
      ДЕМО OPENCART 3
       
      OPENCART 2.3
      Если будет предметный интерес.
       
      ПОДДЕРЖКА
      Поддержка в личных сообщениях и в комментариях в соответствующей теме на форуме
       
  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.