# #----------[ 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