Jump to content

Programando módulo sencillo


Recommended Posts

Buenas tardes:

 

Os escribo porque estoy diseñando un módulo y le he añadido (en el fichero tpl) una serie de instrucciones para que carge las mejores ventas basándome en el módulo "best sellers". El problema es el siguiente:

 

Si nos vamos al módulo "Mejores ventas" (best sellers) veremos que al principio del fichero "tpl" hace la comprobación "{if isset($best_sellers) AND $best_sellers}". Desde la página principal de cualquier tienda esa comprobación devuelve true porque existe el objeto "$best_sellers" y por tanto imprime las mejores ventas.

 

Al añadirla yo en mi fichero, la misma comprobación, devuelve false porque el objeto no ha sido creado. ¿Por qué desde el tpl del módulo "best sellers" devuelve true sin haber creado antes el objeto y en cambio en mi fichero devuelve false?.

 

Gracias, un saludo.

Edited by eleon (see edit history)
Link to comment
Share on other sites

¿le estas asignando a tu tpl la variable $best_sellers?

 

Si te fijas en el modulo blockbestsellers en el archivo blockbestsellers.php se le asigna esta variable y luego se llama al tpl. Asi el tpl puede leer dicha variable.

$this->smarty->assign(array(
       'best_sellers' => BlockBestSellers::$cache_best_sellers,
       'homeSize' => Image::getSize(ImageType::getFormatedName('home'))
));

return $this->display(__FILE__, 'blockbestsellers-home.tpl'

Edited by xabikip (see edit history)
Link to comment
Share on other sites

Buenos días:

 

Gracias por la respuesta, no había hecho esa asignación en el php de mi módulo, pero ahora que la he añadido sigue igual, no existe la variable $best_sellers

 

¿Podrías decirme a qué se debe?.

 

En el php del módulo bestsellers pone esto:

			$this->smarty->assign(array(
				'best_sellers' => $best_sellers,
				'homeSize' => Image::getSize(ImageType::getFormatedName('home'))));

También he probado con ello pero sigo igual.

Link to comment
Share on other sites

En el modulo bestsellers no pone esto:

 

En el php del módulo bestsellers pone esto:

			$this->smarty->assign(array(
				'best_sellers' => $best_sellers,
				'homeSize' => Image::getSize(ImageType::getFormatedName('home'))));

 Si no que pone esto:

$this->smarty->assign(array(
				'best_sellers' => BlockBestSellers::$cache_best_sellers,
				'homeSize' => Image::getSize(ImageType::getFormatedName('home'))
			));
Link to comment
Share on other sites

A mi me pone lo primero, uso la versión 1.5 de prestashop.

 

De todas formas he probado de las dos maneras pero sigue sin asignarme las mejores ventas al objeto $best_sellers, ¿alguna idea?.

 

Muchísimas gracias, es la única cosa enrevesada que me queda para terminar. Un saludo.

Link to comment
Share on other sites

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