ACILEGNA Posted February 20, 2019 Share Posted February 20, 2019 buenas tardes . intento hacer un modulo y en el requiero enviar el resultado de una consulta a un archivo tpl en un hook pero no me envía nada alguien pudiera ayudarme? aqui muestro el codigo ARCHIVO PHP cwejemplo.php <?php if(!defined('_PS_VERSION_')){ exit; } class CwNuevo extends Module { public function __construct(){ $this->name = 'cwnuevo'; $this->tab = 'front_office_features'; $this->version = '1.0.0'; //utilizar boostrap $this->bootstrap = true; $this->author = 'Luna'; $this->ps_versions_compliancy = array('min' => '1.7', 'max' => _PS_VERSION_); $this->displayName = 'Modulo'; $this->description = 'prueba para el curso'; parent::__construct(); } public function install() { if(!parent::install() || !Configuration::updateValue('CWEJEMPLO_URL', 'http://urldeejemplo.com')|| !$this->registerHook('displayProductAdditionalInfo')) return false; return true; } public function uninstall() { if(!parent::uninstall() || !Configuration::deleteByName('CWNUEVO_URL')) return false; return true; } public function hookdisplayProductAdditionalInfo( $params ){ $sql = 'SELECT total_paid FROM '._DB_PREFIX_.'ps_orders'; $totalOrders = Db::getInstance()->getValue($sql); $this->context->smarty->assign('totalOrders' ,$totalOrders); return $this->display(__FILE__, 'displayProductAdditionalInfo.tpl'); } } ARCHIVO TPL displayProductAdditionalInfo.tpl {$totalOrders} Link to comment Share on other sites More sharing options...
gusman126 Posted February 20, 2019 Share Posted February 20, 2019 // si pones prefix no pongas ps_ prueba con , usa carpetas hook para tpl el getValue($sql); es para leer un dato limitado a un resultado, no a muchas lineas, con el sum() esta sumando, no se que quieres mostrar $sql = 'SELECT sum(total_paid) FROM '._DB_PREFIX_.'orders'; $totalOrders = Db::getInstance()->getValue($sql); $this->context->smarty->assign('totalOrders' ,$totalOrders); return $this->display(__FILE__, 'views/templates/hook/displayProductAdditionalInfo.tpl'); Link to comment Share on other sites More sharing options...
ACILEGNA Posted February 21, 2019 Author Share Posted February 21, 2019 19 hours ago, gusman126 said: // si pones prefix no pongas ps_ prueba con , usa carpetas hook para tpl el getValue($sql); es para leer un dato limitado a un resultado, no a muchas lineas, con el sum() esta sumando, no se que quieres mostrar $sql = 'SELECT sum(total_paid) FROM '._DB_PREFIX_.'orders'; $totalOrders = Db::getInstance()->getValue($sql); $this->context->smarty->assign('totalOrders' ,$totalOrders); return $this->display(__FILE__, 'views/templates/hook/displayProductAdditionalInfo.tpl'); Gracias . se soluciono quitando el prefijo de la tabla 'ps' y especificando con where que registro me devuelva. $sql = 'SELECT total_paid FROM '._DB_PREFIX_.'orders WHERE id_order=4'; Una pregunta mas. Se puede usar el max(id) para obtener el ultimo registro insertado o que funcion me recomiendan? hago esto pero no funciona $sql = 'SELECT total_paid FROM '._DB_PREFIX_.'orders WHERE id_order='.'SELECT max(id_order) FROM '._DB_PREFIX_.'orders'; la ruta no fue necesario cambiar así quedo return $this->display(__FILE__,'displayProductAdditionalInfo.tpl'); Link to comment Share on other sites More sharing options...
gusman126 Posted February 21, 2019 Share Posted February 21, 2019 puedes poner cualquier tipo de orden sql , no deberia haber problemas Link to comment Share on other sites More sharing options...
ACILEGNA Posted February 21, 2019 Author Share Posted February 21, 2019 28 minutes ago, gusman126 said: puedes poner cualquier tipo de orden sql , no deberia haber problemas Hice las consultas por separado y a la ultima le agregue la variable del resultado de la primera. Funciono $idmax = 'SELECT max(id_order) FROM '._DB_PREFIX_.'orders'; $resid = Db::getInstance()->getValue($idmax); $sql = 'SELECT total_paid FROM '._DB_PREFIX_.'orders WHERE id_order='.$resid; $totalOrders = Db::getInstance()->getValue($sql); Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now