Jump to content

Cómo mostrar datos de tabla propia de base de datos prestashop en un módulo


Recommended Posts

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

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:
 
 
muestra: e, e, e, e ??
 
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...