В типе товара нужно добавить поле "счетчик продаж" (обычное число) по умолчанию 0
В рулсах изменить правило "после добавления товара в корзину" - добавить увеличение этого счетчика на 1
Выводить вьюсами с сортировкой по этому полю
Есть решение ещё проще, при установке добавляется блок Shopping cart block, можно его клонировать и делать всё что вам нужно. сделать сортировку по Quantity к примеру.=)
Комментарии
Решено вьюсом
поделился бы, как решил. Курю ту же проблему, но пока безрезультно.
заплачу 15 баксов за консультацию. почта klap90@mail.ru
20 баксов Гуру ! Отзовись?
http://drupal.org/sandbox/anthonylindsay/1643068
Одолел эту задачку вьюсом и рулсами
решение в студию ! Если возможно.
В типе товара нужно добавить поле "счетчик продаж" (обычное число) по умолчанию 0
В рулсах изменить правило "после добавления товара в корзину" - добавить увеличение этого счетчика на 1
Выводить вьюсами с сортировкой по этому полю
Есть решение ещё проще, при установке добавляется блок Shopping cart block, можно его клонировать и делать всё что вам нужно. сделать сортировку по Quantity к примеру.=)
или сделать модуль
запрос:
<?php
$query = db_select('commerce_line_item', 'cli');
function mymodule_db_select() {
$query->Join('commerce_order', 'co');
$query->Join('commerce_product', 'cp', 'cli.line_item_label = cp.product_id AND cli.order_id = co.order_id');
$query->addExpression('SUM(cli.quantity)', 'quantity');
$query->fields('cp', array('title'));
$query->groupBy('cp.title');
$query->condition('co.status', array('completed'), '=');
$query->orderBy('cli.quantity', 'DESC');
$query->range('0', '8');
return
$query;}
?>
вывод блоком:
<?php
$result = mymodule_db_select();
$rows = array();
$output = theme('table', array('header' => $header, 'rows' => $rows));
function mymodule_block_info() {
$blocks['product'] = array('info' => t('Last'));
return $blocks;
}
function
mymodule_block_view($delta = '') {$block = array();
if (
$delta == 'product') {$block['subject'] = t('Popular sale product');
$block['content'] = mymodule_block_contents($delta);
}
return
$block;}
function
mymodule_block_contents($which_block) {switch ($which_block) {
case 'product':
foreach ($result->execute()->fetchAllKeyed() as $key => $value) {
$rows[] = array($key, number_format($value, '0', ',', '0'));
}
$header = array('Product', 'Quantity');
return $output;
}
}
?>
Вот тоже интересный вариант: http://drupal.org/node/1292104#comment-6866420