0 Пользователей и 1 Гость просматривают эту тему.
  • 11 Ответов
  • 565 Просмотров
*

Suncho

  • Осваиваюсь на форуме
  • 49
  • 0
Подскажите, как сделать чтобы при сортировке товара по цене в категории, товар без цены (с надписью позвонить для запроса цены) были всегда внизу списка?
Сейчас у меня там такой код:
Код
case 'product_price':
$orderBy = ' ORDER BY `product_price` ';
$ff_select_price = ' , IF(pp.override, pp.product_override_price, pp.product_price)/(SELECT currency_exchange_rate from #__virtuemart_currencies WHERE virtuemart_currency_id=pp.product_currency) as product_price ';
$joinPrice = TRUE;

Как правильно сделать доп. сортировку по значению product_in_stock?
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Сортировка товаров без цены
« Ответ #1 : 27.02.2016, 16:28:17 »
Код: php
$orderBy = ' ORDER BY `product_price`, `product_in_stock` DESC';

Так попробуйте.

*

Suncho

  • Осваиваюсь на форуме
  • 49
  • 0
Re: Сортировка товаров без цены
« Ответ #2 : 27.02.2016, 20:06:56 »
Код: php
$orderBy = ' ORDER BY `product_price`, `product_in_stock` DESC';

Так попробуйте.


Так пробовал, товар пропадает.....
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Сортировка товаров без цены
« Ответ #4 : 27.02.2016, 20:54:17 »
Вытащить его можно так.
после $db->setQuery($query);
Поставить  echo $query->dump();
*

Suncho

  • Осваиваюсь на форуме
  • 49
  • 0
Re: Сортировка товаров без цены
« Ответ #5 : 27.02.2016, 21:02:38 »
А целый запрос можно посмотреть.. ?

Вот код
Код
// special  orders case
//vmdebug('my filter ordering ',$this->filter_order);
$ff_select_price = '';
switch ($this->filter_order) {
case '`p`.product_special':
if($isSite){
$where[] = ' p.`product_special`="1" '; // TODO Change  to  a  individual button
$orderBy = 'ORDER BY RAND()';
} else {
$orderBy = 'ORDER BY p.`product_special`';
}

break;
case 'category_name':
$orderBy = ' ORDER BY `category_name` ';
$joinCategory = TRUE;
$joinCatLang = true;
break;
case 'category_description':
$orderBy = ' ORDER BY `category_description` ';
$joinCategory = TRUE;
$joinCatLang = true;
break;
case 'mf_name':
$orderBy = ' ORDER BY `mf_name` ';
$joinMf = TRUE;
$joinMfLang = true;
break;
case 'pc.ordering':
$orderBy = ' ORDER BY `pc`.`ordering` ';
$joinCategory = TRUE;
break;
case 'product_price':
//$filters[] = 'p.`virtuemart_product_id` = p.`virtuemart_product_id`';
//$orderBy = ' ORDER BY `product_price` ';
//$orderBy = ' ORDER BY `ff_final_price`, `product_price` ';
$orderBy = ' ORDER BY `product_price` ';
$ff_select_price = ' , IF(pp.override, pp.product_override_price, pp.product_price)/(SELECT currency_exchange_rate from #__virtuemart_currencies WHERE virtuemart_currency_id=pp.product_currency) as product_price ';
$joinPrice = TRUE;
break;
case '`p`.created_on':
$orderBy = ' ORDER BY p.`created_on` ';
break;
default;
if (!empty($this->filter_order)) {
$orderBy = ' ORDER BY ' . $this->filter_order . ' ';
}
else {
$this->filter_order_Dir = '';
}
break;
}
*

Suncho

  • Осваиваюсь на форуме
  • 49
  • 0
Re: Сортировка товаров без цены
« Ответ #6 : 27.02.2016, 21:28:57 »
Вот весь файл...
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Сортировка товаров без цены
« Ответ #7 : 27.02.2016, 21:49:08 »
Ну простите и зачем мне Ваш файл... Вы бы мне еще дистрибутив с VirtueMart скинули тогда я бы точно разобрался.. ))

А целый запрос можно посмотреть.. ?
Я же не экстрасенс... ))
*

Suncho

  • Осваиваюсь на форуме
  • 49
  • 0
Re: Сортировка товаров без цены
« Ответ #8 : 27.02.2016, 21:58:09 »
$db->setQuery($query);   -  такой строки нет в этом файле....
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Сортировка товаров без цены
« Ответ #9 : 27.02.2016, 21:59:15 »
Путь /administrator/components/com_virtuemart/helpers/vmmodel.php
Строка 832.
Пишем echo $q->dump();

Смотрим отправляем ))
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Сортировка товаров без цены
« Ответ #10 : 27.02.2016, 22:00:46 »
Цитировать
$db->setQuery($query);   -  такой строки нет в этом файле....
Да нету...
За то есть
Код: php
$product_ids = $this->exeSortSearchListQuery (2, $select, $joinedTables, $whereString, $groupBy, $orderBy, $this->filter_order_Dir, $nbrReturnProducts);
*

gartes

  • Живу я здесь
  • 951
  • 71
  • Е = mс²
Re: Сортировка товаров без цены
« Ответ #11 : 27.02.2016, 22:02:33 »
В общем Ваш запрос тут отрабатывает тут нужно на него и смотреть .
Цитировать
/administrator/components/com_virtuemart/helpers/vmmodel.php

Там посмотрите что в переменных прилетает...
Попробуйте разобраться...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Большой обём изображений товаров Virtueart

Автор yrygvay

Ответов: 1
Просмотров: 21
Последний ответ 23.09.2017, 17:39:49
от robert
Модуль для отображения товаров VirtueMart 3 с помощью адаптивной карусели-слайдера с ленивой загрузк

Автор borro

Ответов: 25
Просмотров: 2622
Последний ответ 11.08.2017, 17:41:26
от Akeksandr
Сортировка товара так как мне нужно.

Автор tarkasha

Ответов: 0
Просмотров: 70
Последний ответ 02.08.2017, 11:47:53
от tarkasha
Сортировка значений фильтра Custom Filters PRO 2.3.2

Автор banditman

Ответов: 4
Просмотров: 320
Последний ответ 25.05.2017, 07:38:06
от banditman
Настраиваемые поля. Как прибавить цену из доп товаров к цене товара

Автор lexapiter25

Ответов: 0
Просмотров: 114
Последний ответ 15.05.2017, 23:18:38
от lexapiter25