Virtuemart 2 отчет о продажах

Приветствую читатели моего блога Aktual.com.ua.
Сегодня я выложу отчет о продажах для Virtuemart 2. Вещь очень нужная — как можно вести торговлю без понимания того, сколько какого товара было продано за определенный период времени. Но, тем не менее, я не нашел готовых решений ни в самом Виртуемарте, ни в интернете.

Решение очень простое, код привожу без комментариев — достаточно базовых знаний PHP. Создаете в корне сайта файл report.php, вставляете в него нижеприведенный код, в строке браузера вводите http://ваш_сайт/report.php

Если возникнут вопросы или пожелания — пишите в комментарии.

Отчет о продажах — код PHP

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.0/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.0/jquery-ui.js"></script>
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
<script>
$(function() {
$( "#datepicker1" ).datepicker();
});
</script>
 
 
 
<form action="report.php" method="post">
<p>From: <input type="text" id="datepicker" name="datepicker"> To <input type="text" id="datepicker1" name="datepicker1"></p>
<p><input type="submit" /></p>
</form> 
 
<?php
if (isset($_POST['datepicker'])) {
 
define('_JEXEC', 1);
 
define('JPATH_BASE', dirname(__FILE__));
 
define('DS', DIRECTORY_SEPARATOR);
require_once(JPATH_BASE.DS.'includes'.DS.'defines.php');
require_once(JPATH_BASE.DS.'includes'.DS.'framework.php');
 
JFactory::getApplication('site')->initialise();
 
 
$db = JFactory::getDBO();
$dtb = str_replace('/', '-', $_POST['datepicker']);
$dte = str_replace('/', '-', $_POST['datepicker1']);
 
$dtb =  substr($dtb, 6, 4).'-'.substr($dtb, 0, 5).' 00:00:00';
$dte =  substr($dte, 6, 4).'-'.substr($dte, 0, 5).' 23:59:59';
 
echo '<span style="color: red;">From:</span> '.$dtb.' <span style="color: red;">To</span> '.$dte.'<br>';
 
 
$q = "SELECT SUM(product_quantity) as sum_quantity, order_item_sku, order_item_name FROM `#__virtuemart_order_items` WHERE `created_on` >= '$dtb' AND `created_on` <= '$dte' AND `order_status` <> 'X' GROUP BY order_item_sku ORDER BY order_item_sku"; 
$db->setQuery($q);
$rows = $db->loadObjectList();
$qwt = 0;
echo '<table border="1"><tr><td>product_sku</td><td>product_name</td><td>Quantity</td></tr>';
 
foreach ($rows as $row) {
$qwt = $qwt + $row->sum_quantity;
echo '<tr><td>'.$row->order_item_sku.'</td><td>'.$row->order_item_name.'</td><td>'.$row->sum_quantity.'</td></tr>';
}
echo '</table>';
echo $qwt;
}
?>
Категория: Virtuemart 2
Comments are disabled