No suelo publicar este tipo de artículos, pero me he quedado maravillado con la calidad del trabajo que realiza esta máquina.
Archivo por meses: junio 2014
Magento: Refrescar estadísticas automáticamente
Al tener una tienda en magento, siempre un problema tener que ir a refrescar manualmente las estadísticas del sitio para poder ver los reportes de ventas. La solución: crear un cron que haga esta tarea por nosotros cada determinado tiempo.
Lo primero es crear un archivo .php (en mi caso se llama refresh_statistics.php) en el directorio /shell de la instalación de Magento con el siguiente código:
<? require_once 'abstract.php'; class Mage_Shell_Refresh_Statistics extends Mage_Shell_Abstract { protected function _getCodes() { $allcodes = array( '0' => 'sales/report_order', '1' => 'tax/report_tax', '2' => 'sales/report_shipping', '3' => 'sales/report_invoiced', '4' => 'sales/report_refunded', '5' => 'salesrule/report_rule', '6' => 'sales/report_bestsellers', ); return $allcodes; } /** * Run script * */ public function run() { if ($this->getArg('refresh')) { $allCodes = $this->_getCodes(); try { foreach ($allCodes as $collectionName) { Mage::getResourceModel($collectionName)->aggregate(); } Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('adminhtml')->__('Lifetime statistics have been updated.')); } catch (Mage_Core_Exception $e) { Mage::getSingleton('adminhtml/session')->addError($e->getMessage()); } catch (Exception $e) { Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Unable to refresh lifetime statistics.')); Mage::logException($e); } echo "Statistics Refreshed!"; } else { echo $this->usageHelp(); } } /** * Retrieve Usage Help Message * */ public function usageHelp() { return <<<USAGE Usage: php -f refresh_statistics.php -- [options] refresh Resfresh the lifetime statistics help This help USAGE; } } $shell = new Mage_Shell_Refresh_Statistics(); $shell->run();
El script esta hecho para no poder ser ejecutado desde el navegador, asi que no puedes usar curl para ejecutarlo. Se debe ejecutar de la siguiente forma
php -f PATH_A_TU_ARCHIVO -- refresh
En cpanel se veria algo como esto
Terminado! Ya tendremos siempre las estadísticas de magento actualizadas en todo momento.