Сортировка рекомендуемых товаров в модуле товаров Virtuemart 2/3

Наверняка многие из Вас знают, что модуль рекомендуемых товаров в Virtuemart по-умолчанию ратирует товары случайным образом. В большинстве случаев это устраивает, но иногда меня просят сделать определённый порядок или какой-либо принцип сортировки товаров в этом модуле. К сожалению, пока не придумал как это сделать без хака, а вот с хаком это выглядит так:

/administator/com_virtuemart/models/product.php (примерно 524 строка).

Находим:

case 'latest':
$orderBy = 'ORDER BY p.`' . $latest_products_orderBy . '` DESC, `virtuemart_product_id` DESC';;
break;

И сразу после или перед вставляем:

case 'featured':
$where[] = 'p.`product_special`="1" ';
$orderBy = ' ORDER BY `pc`.`ordering` '.$filterOrderDir.', `virtuemart_product_id` '.$filterOrderDir;
$this->filter_order_Dir = 'DESC';
break;

Ключевой момент здесь $orderBy. В данном случае сортировка происходит по порядку, который установлен для товаров. Возможны и другие варианты, например:

$orderBy = 'ORDER BY p.`product_sku`';

— сортировка по артикулу

 


Комментировать