Jump to content

Crear un archivo php para un tpl


ccross

Recommended Posts

Buenas,

 

Tengo un par pregunta que me traen de cabeza. Necesito sacar los productos que se ven en una categoría.

 

Estos productos se pueden sacar desde el  archivo product_list.tpl. 

 

Yo necesitaría  recuperar esos productos, pero en un TPL que me he creado nuevo.

 

El product_list.tpl tiene un controlador donde puede se pueden sacar esos productos, pero no puedo acceder a su controlador desde mi TPL nuevo.

 

He intentado acceder a un método de la clase category desde mi TPL  llamado getproducts(), pero para ello necesito instanciar la clase category.

 

Según he leído no se puede instanciar un objeto en las plantillas de smarty, con esto me surgen dos preguntas. <_<

 

  1. Podría de alguna forma recuperar información de otros TPLS que estén en la misma pagina 
  2. Podría crear un controlador para el TPL que he creado y así instanciar  el objeto category y usar el método getproducts()

 

Utilizo la versión 1.4 y he intentado lo siguiente, pero no seria la solución, porque esto te crea una pagina con su url especifica y yo lo único que necesito, es recoger los productos de product_list.tpl , en otro TPL.

 

 

 

Crear en el directorio raiz,“mipagina.php”.

  1. <?php
  2. require(dirname(__FILE__).'/config/config.inc.php');
  3. ControllerFactory::getController('MiPaginaController')->run();
  4. ?>

Crear el controlador, “MiPaginaController.php”

 

 

  1. <?php
  2. class MiPaginaControllerCore extends FrontController
  3. {
  4.     //definimos los archivos media que queremos cargar
  5.     public function setMedia()
  6.     {
  7.         parent::setMedia();
  8.         Tools::addCSS(_THEME_CSS_DIR_.'mipagina.css');
  9.         Tools::addJS(_THEME_JS_DIR_.'mipagina.js');
  10.     }
  11.    
  12.     public function process()
  13.     {
  14.         parent::process();
  15.        
  16.         //definimos la variable que queremos mostrar
  17.         $mivariable = "Hola Mundo";
  18.        
  19.         //declaramos las variables para smarty
  20.         self::$smarty->assign(array(
  21.             'mivariable' => $mivariable
  22.         ));
  23.     }
  24.    
  25.     public function displayContent()
  26.     {
  27.         parent::displayContent();
  28.         //definimos el tpl que muestra la página
  29.         self::$smarty->display(_PS_THEME_DIR_.'mipagina.tpl');
  30.     }
  31. }
  32. ?>
 
 
  1. crear el tpl 
  2.  
  3. <!--mostramos (o no) las breadcumbs-->
  4. {include file="$tpl_dir./breadcrumb.tpl"}
  5. <!--mostramos nuestra variable-->
  6. <p>{$mivariable}</p>
 
 
Espero podáis echarme una mano,
Muchas gracias  :)
Edited by ccross (see edit history)
Link to comment
Share on other sites

×
×
  • Create New...