#
#----------[ OPEN ]----------
#
modules\statsproduct\statsproduct.php
#
#----------[ FIND ]----------
#
public function hookAdminStatsModules($params)
#
#----------[ BEFORE, ADD ]----------
#
private function getBestAttributes($id_product)
{
return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS('
SELECT od.product_name, SUM(od.product_quantity) as pqty
FROM `'._DB_PREFIX_.'orders` o
LEFT JOIN `'._DB_PREFIX_.'order_detail` od ON o.id_order = od.id_order
WHERE o.date_add BETWEEN '.$this->getDate().'
AND o.valid = 1
AND od.product_id = '.(int)($id_product).'
GROUP BY od.product_attribute_id
ORDER BY pqty DESC');
}
#
#----------[ FIND ]----------
#
$this->_html .= '<h3 class="space">'.$this->l('Attribute sales distribution').'</h3><center>'.ModuleGraph::engine(array('type' => 'pie', 'option' => '3-'.$id_product)).'</center><br />
<p><a href="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'&export=1&exportType=2"><img src="../img/admin/asterisk.gif" />'.$this->l('CSV Export').'</a></p><br />';
#
#----------[ REPLACE WITH ]----------
#
{
$this->_html .= '<h3 class="space">'.$this->l('Attribute sales distribution').'</h3><center>'.ModuleGraph::engine(array('type' => 'pie', 'option' => '3-'.$id_product)).'</center><br />
<p><a href="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'&export=1&exportType=2"><img src="../img/admin/asterisk.gif" />'.$this->l('CSV Export').'</a></p><br />';
$top_attributes = $this->getBestAttributes($id_product);
$this->_html .= '<br class="clear" />
<h3>'.$this->l('Best attribute sales').'</h3>
<div style="overflow-y: scroll; height: '.min(200, (count($top_attributes)+1)*32).'px;">
<table class="table" border="0" cellspacing="0" cellspacing="0">
<thead>
<tr>
<th>'.$this->l('Attribute').'</th>
<th>'.$this->l('Qty').'</th>
</tr>
</thead><tbody>';
foreach ($top_attributes as $attribute)
$this->_html .= '
<tr>
<td>'.$attribute['product_name'].'</td>
<td align="right">'.(int)($attribute['pqty']).'</td>
</tr>';
$this->_html .= '</tbody></table></div>';
}
25 November 2011
Enhanced Product Details Statistics Module v1.0
Adds a table of sold attributes grouped by quantity to the BO product details statistics module.
Subscribe to:
Post Comments (Atom)
This is almost exactly what I was looking for. Now, is there one that shows all of the sales for all of the attributes on a page and not just for one product?
ReplyDeleteThe stats dashboard by default (1.4+) has data for all attribute sales grouped together.
ReplyDelete