Jump to content

Productos en el footer


vllopico

Recommended Posts

Hola,

Quiero que los productos destacados de la home, me aparezcan en el footer, sólo tengo 5 productos que vender y quiero que esten siempre en el footer.

Si traslado el modulo de productos destacados al footer, no me deja. ¿Qué debo hacer un nuevo modulo parecido a este para poder ponerlo en el footer?

Gracias.

Link to comment
Share on other sites

Hola puedes hacer un nuevo módulo o modificar el que tienes...Yo haría otro para no tener problemas con actualizaciones futuras.

Los módulos solo se pueden añadir al hook para el que están programados, por eso no te deja ponerlo en el footer. Tendrás que crear/modificar el módulo y añadirlo al footer. Imagino que te tocará modificar el tpl ya que no querrás que salga tal cual lo tienes ahora.

  • Like 1
Link to comment
Share on other sites

Hola,

Quiero que los productos destacados de la home, me aparezcan en el footer, sólo tengo 5 productos que vender y quiero que esten siempre en el footer.

Si traslado el modulo de productos destacados al footer, no me deja. ¿Qué debo hacer un nuevo modulo parecido a este para poder ponerlo en el footer?

Gracias.

 

¿Cual es la intención de colocarlo en el footer? ¿La intención de que se vea en todas las paginas?

 

Vamos, puedes probar ir al fichero:

 

/modules/homefeatured/homefeatured.php

 

Y añadir esto:

public function hookDisplayFooter ($params) {
return $this->hookDisplayHome($params);
}

 

Luego ir a la pestaña Módulos -> Posiciones -> Boton Verde Trasladar Módulo y colocar el modulo de productos destacados en el DisplayFooter.

 

Pero atento esto se te va a ver feisimo. (Seguramente tengas que ajustar el css para dejarlo fino)

  • Like 1
Link to comment
Share on other sites

Gracias, la intención que aparezcan en el footer, es que quiero que aparezcan siempre esos 5 productos, en la parte del contenido iré cambiando contenido.

estoy empezando a programar el nuevo módulo, basándome en homefeatured, os iré comentando las dudas que me surjan...

Saludos,

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

Gracias, estoy empezando a programar el nuevo módulo, basándome en homefeatured, os iré comentando las dudas que me surjan...

Saludos,

No hay problema :)

 

Ya nos contaras.

 

La linea que te puse arriba, es para indicar al modulo que es posicionable en el footer, y que cargara el contenido que tenia asignado el hook home, en el footer.

  • Like 1
Link to comment
Share on other sites

He duplicado en module homefeatures, lo instalo correctamente, pero no me muestra ningún producto, el resultado es No featured products, tengo una serie de preguntas al ver el código del módulo, los métodos hookDisplayHome, getContent, displayForm, y como se recogen los datos en el tpl.

Gracias.

Link to comment
Share on other sites

En tu caso el displayHome puedes quitarlo porque tú lo que quieres es mostarlo en el footer. Te hablo sin probarlo vale? Pero puede que cambiando el hookDisplayHome por el hookDisplayFooter lo tendrías ya mostrando el contenido. Ahora te tocaría modificar el tpl para adaptarlo a la nueva localización.

 

El getContent es el método que muestra la parte de configuración del módulo en el backofficce y el displayForm tendrá el código del tpl xq al ser un módulo con estructura de la 1.4 no irá en un tpl directamente.

 

Cuidado con posibles tablas, constantes, etc que se puedan crear en el módulo, para que no pises las del módulo original.

  • Like 1
Link to comment
Share on other sites

He duplicado en module homefeatures, lo instalo correctamente, pero no me muestra ningún producto, el resultado es No featured products

Gracias.

 

Pega el codigo del modulo en el foro, para ver lo que has realizado.

 

¿Los productos, los tienes asignados a la categoria Inicio? ¿no?

  • Like 1
Link to comment
Share on other sites

¿Cual es la intención de colocarlo en el footer? ¿La intención de que se vea en todas las paginas?

 

Vamos, puedes probar ir al fichero:

 

/modules/homefeatured/homefeatured.php

 

Y añadir esto:

public function hookDisplayFooter ($params) {
return $this->hookDisplayHome($params);
}

 

Luego ir a la pestaña Módulos -> Posiciones -> Boton Verde Trasladar Módulo y colocar el modulo de productos destacados en el DisplayFooter.

 

Pero atento esto se te va a ver feisimo. (Seguramente tengas que ajustar el css para dejarlo fino)

 

Muchísimas gracias Nadie !

 

Aunque yo no pretendía mover el modulo de productos destacados al footer, esta información, me ha servido para otro modulo.

  • Like 1
Link to comment
Share on other sites

<?php
if (!defined('_PS_VERSION_'))
exit;
class blockproductsfooter extends Module
{
   function __construct()
   {
    $this->name = 'blockproductsfooter';
    $this->tab = 'front_office_features';
    $this->version = '1';
    $this->author = 'Vicent Llopico';
    $this->need_instance = 0;
    parent::__construct();
    $this->displayName = $this->l('Productos en el footer');
    $this->description = $this->l('Muestra los productos en el footer');
   }

   function install()
   {
    if (!parent::install() || !$this->registerHook('displayFooter'))
		    return false;
    return true;
   }


   public function uninstall()
   {
    if ( !parent::uninstall() )
	    Db::getInstance()->Execute( 'DELETE FROM `' . _DB_PREFIX_ . 'blockproductsfooter`' );
    parent::uninstall();
   }


   public function hookFooter( $params )
   {
    global $smarty;
    return $this->display(__FILE__, 'blockproductsfooter.tpl');
   }

   public function hookDisplayFooter($params)
   {
    $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
    //$nb = (int)(Configuration::get('_NBR'));
    $nb = 5;
    $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

    $this->smarty->assign(array(
		    'products' => $products,
		    'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
		    'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
    ));
    return $this->display(__FILE__, 'blockproductsfooter.tpl');
   }
}

 

Ese es mi código, lo que pasa es que ahora estoy accediendo a los productos destacados, yo que en la tienda solo voy a tener 5 productos, quiero siempre que se muestren los 5 productos en el footer.

Supongo que el problema estará en el new Category o en el getsproducts...

¿Haciendo esto que tablas originales puedo modificar?

Saludos,

Link to comment
Share on other sites

public function hookDisplayFooter($params)
{
	$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));*/


	$pr = new Product();
	$products = $pr->getProducts((int)Context::getContext()->language->id, 0, 5, 'price', 'DESC');
	//var_dump($products);


	$this->smarty->assign(array(
			'products' => $products,
			'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
			'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
	));
	return $this->display(__FILE__, 'blockproductsfooter.tpl');
}

 

He encontrado esta solución, para poder acceder a todos los productos que tengo en la tienda. ¿Qué os parece así?

En el código del mensaje anterior, ¿por qué el id de categoria 2, que no está definido en la tienda, es el de destacados?

Me gustaría saber que hacen estas dos líneas y si son necesarias:

 

'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
'homeSize' => Image::getSize(ImageType::getFormatedName('home')),

 

Saludos,

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

'homeSize' => Image::getSize(ImageType::getFormatedName('home')),

 

 

Esa linea te servirá, para obtener luego el parametro widh y height del tipo "home" en la imagen de los productos.

 

Fijate que en el tpl, tienes esto:

 

height="{$homeSize.height}" width="{$homeSize.width}"

 

ese

 

$homeSize

 

viene de hay.

  • Like 1
Link to comment
Share on other sites

Gracias,

El problema que tengo ahora es que al utilizar getProducts, con new Product(), no tengo el atributo $product.link para utilizarlo en el tpl. ¿Cómo puedo solucionar esto?

Saludos,

 

Por qué has cambiado el código?

Los productos destacados los coge de los que están en la categoría 1 que es la de inicio. Si pones tus productos para que se muestren en esa categoría y mantienes el código debería funcionarte.

  • Like 1
Link to comment
Share on other sites

Buenos días, a parte de las aspectos que os he comentado anteriormente, una vez he logrado poder acceder a los productos en Smarty con getProducts, aunque no puedo por ejemplo obtener la propiedad link, cuando voy a crear una categoría, producto o activo las url amigables, me sale un mensaje de error como este que os muestro, ¿a que se debe? ¿Puede ser del código del módulo anterior? ¿O una mala instalación?

Saludos,presashop_error1.jpg

Link to comment
Share on other sites

Gracias Jesa, he cambiado el código (el anterior funciona), porque quiero todos los productos, no sólo los de una categoría, aunque creo que si los pongo todos en una categoría no pasará nada. La propiedad de link de producto me devuelve undefined en smarty, ¿a que se debe esto?

Lo que me preocupa es el error anterior, ¿tendrá que ver con el código del módulo?

Saludos,

Link to comment
Share on other sites

Buenos días, a parte de las aspectos que os he comentado anteriormente, una vez he logrado poder acceder a los productos en Smarty con getProducts, aunque no puedo por ejemplo obtener la propiedad link, cuando voy a crear una categoría, producto o activo las url amigables, me sale un mensaje de error como este que os muestro, ¿a que se debe? ¿Puede ser del código del módulo anterior? ¿O una mala instalación?

Saludos,presashop_error1.jpg

Parece que no tiene que ver tu problema con lo que planteas ahora.

El error que te está dando no es de una tabla nativa de prestashop, yo nunca la he visto al menos. Supongo que habrás instalado algo que te ha añadido esa tabla.

Link to comment
Share on other sites

Mira a ver si hay problemas con el módulo gamification(Experiencia comercial) para tu versión porque esas tablas de base de datos son de ese módulo, pero a mi al menos me funciona correctamente.

 

En cuanto al tema del hilo. No necesitas crear categorías ni nada, simplemente tienes que asignar en el backofficce todos los productos a la categoría inicio y con eso te aparecerán sin modificar nada mas.

Si que te tocará modificar el tpl para que aparezca como tú quieras en el footer porque ahora tendrá los mismos estilos que en el home.

  • Like 1
Link to comment
Share on other sites

El error salta siempre que le doy al botón guardar en el back-office, haga lo que haga..., el tema del módulo lo tengo claro, gracias.

En caso de que no resuelva ese error, ¿reinstalo Prestashop?

Saludos,

Link to comment
Share on other sites

El error salta siempre que le doy al botón guardar en el back-office, haga lo que haga..., el tema del módulo lo tengo claro, gracias.

En caso de que no resuelva ese error, ¿reinstalo Prestashop?

Saludos,

Este error es distinto por lo que deberías abrir otro tema para que te puedan ayudar. Como te digo, yo no he tenido problemas con ese módulo. Mira a ver que versión tienes de prestashop y busca por el foro si alguien ha tenido problemas y sino plantea tu problema para que te puedan ayudar.

En todo caso, no creo que tengas que reinstalar prestashop, si te interesa el módulo busca una solución, sino desinstalalo y debería de solucionarse el problema.

Link to comment
Share on other sites

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