pmaojo Posted April 21, 2014 Share Posted April 21, 2014 Hola foro 1- He creado correctamente una tabla en la base de datos para hacer un seguimiento de acciones de servicio al cliente. la he llamado pss_events y en la misma base de datos de prestashop. Las columnas de esta tabla son: id_accion, id_cliente, desc_accion y fecha_hora 2- He posicionado el módulo en un hook y ya puedo ver la salida de este módulo 3- He creado una carpeta "seguimientoeventos" y dos archivos dentro, seguimientoeventos.php y seguimientoeventos.tpl Aquí es donde la cosa se me complica. Voy a poner la última prueba que tengo hecha: El contenido de seguimientoeventos.php: <?php class SeguimientoEventos extends Module { function __construct() { $this->name = 'seguimientoeventos'; $this->tab = 'front_office_features'; $this->version = 1.0; $this->author = 'Pelayo Maojo'; parent::__construct(); $this->page = basename(__FILE__, '.php'); $this->displayName = $this->l('Seguimiento de acciones'); $this->description = $this->l('Sistema de seguimiento de servicio al cliente.'); } function hookcustomerAccount($params) { global $smarty; $sql="select * from pss_eventos"; // creamos la sentencia sql $query=mysql_query($sql); // ejecutamos la consulta $x=0; while($row=mysql_fetch_array($query)){ $eventos[$x]=array($col['id_accion'], $col['id_cliente'], $col['desc_accion '], $col['fecha_hora']); $x++; } mysql_close(); $smarty->assign('eventos' ,$eventos); return $this->display(__FILE__, 'seguimientoeventos.tpl'); } public function getContent () { // Instruciones … } function install() { if(parent::install() == false) return false; return true; } } ?> El contenido de seguimientoeventos.tpl: <div class="row well"> <h2>Seguimiento de servicios</h2> </div> <table border="0" cellspacing="5" cellpadding="5"> {foreach name=outer item=evento from=$eventos} <tr class=""> {foreach key=key item=item from=$eventos} <td>{$item['id_accion']}</td> <td>{$item['id_cliente']}</td> <td>{$item['desc_accion']}</td> <td>{$item['fecha_hora']}</td> {/foreach} </tr> {/foreach} </table> He probado varios códigos encontrados en internet para hacerlo funcionar y no llega a mostrar mi tabla. Tengo un evento creado.Este modulo lo muestro en el hook my acount y lo siguiente que quisiera hacer es que solo muestre al cliente los eventos relacionados con su cuenta, (en la base de datos ya he enlazado el id de cliente al customer_id. ¿Qué debo corregir? Muchas gracias de antemano. Link to comment Share on other sites More sharing options...
pmaojo Posted April 25, 2014 Author Share Posted April 25, 2014 sigo sin conseguirlo. he avanzado creo. tengo estos códigos: PHP <?php class SeguimientoEventos extends Module { function __construct() { $this->name = 'seguimientoeventos'; $this->tab = 'front_office_features'; $this->version = 1.0; $this->author = 'Pelayo Maojo'; parent::__construct(); $this->page = basename(__FILE__, '.php'); $this->displayName = $this->l('Seguimiento de acciones'); $this->description = $this->l('Sistema de seguimiento de servicio al cliente.'); } function hookcustomerAccount($params) { global $smarty; $sql="select * from pss_eventos"; // creamos la sentencia sql $query=mysql_query($sql); // ejecutamos la consulta $x=0; while($row=mysql_fetch_array($query)){ $eventos[$x]=array($col['id_accion'], $col['id_cliente'], $col['desc_accion '], $col['fecha_hora']); $x++; } mysql_close(); $smarty->assign('eventos' ,$eventos); } public function getContent () { // Instruciones … } function install() { if(parent::install() == false) return false; return true; } } ?> TPL: <div class="row"> <h2>Seguimiento de servicios</h2> <table class="table stripped" border="0" cellspacing="5" cellpadding="5"> {foreach from=eventos key=key item=acciones name=lista } <tr class=""> <td align="left">{$acciones['id_accion']}</td> <td align="left">{$acciones['id_cliente']}</td> <td align="justify">{$acciones['desc_accion']}</td> <td align="center">{$acciones['fecha_hora']}</td> <td align="center">{$acciones['notas']}</td> </tr> {foreachelse} <p>No hay acciones</p> {/foreach} </table></div> El restultado: https://www.dropbox.com/s/invg0yoelvgtmjk/Captura%20de%20pantalla%202014-04-25%2022.04.49.pdf muestra: e, e, e, e ?? Pero debería ser:https://www.dropbox.com/s/efvql1pbvl3l3lq/Captura%20de%20pantalla%202014-04-25%2022.05.09.pdf Link to comment Share on other sites More sharing options...
pmaojo Posted April 27, 2014 Author Share Posted April 27, 2014 Solucionado aquí:http://www.prestashop.com/forums/topic/326265-how-to-show-a-database-table-created-by-me-in-a-module Link to comment Share on other sites More sharing options...
Recommended Posts