Jump to content

mostrar resultado de una consulta a un archivo tpl


Recommended Posts

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}

Share this post


Link to post
Share on other sites

// 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');

 

Share this post


Link to post
Share on other sites
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');

Share this post


Link to post
Share on other sites
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);

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More