Jump to content

[modulo] nuevos productos en la página principal GRATIS


vekia
 Share

Recommended Posts

nuevos productos en la página principal GRATIS

Hoy quiero compartir con ustedes módulo totalmente gratuito para su prestashop 1.5

Este addon muestra últimos productos añadidos a la tienda en su página principal.

Funciona de manera similar al módulo de productos destacados, pero éste sólo muestra productos nuevos

 

prestashop-home-new-products-module-big-

 

 

descargar:

 

  • Like 4

Share this post


Link to post
Share on other sites

Una vez instalado cuando vuelvo a la página principal sale todo en blanco y tengo que volver a desinstalarlo para que funcione la tienda otra vez, uso la versión 1.5.3.1 ¿por que puede ser eso?

 

Habilita el reporte de errores como indico aquí: http://www.prestashop.com/forums/topic/232477-%C2%BFqu%C3%A9-hacer-cuando-se-queda-la-pantalla-en-blanco-en-prestashop/?do=findComment&comment=1143439 y comentale a vekia si te sale algun error depende la pantalla en blanco.

Share this post


Link to post
Share on other sites

Me sale esto Fatal error: Call to undefined method homenewproducts::getCacheId() in /var/www/vhosts/miweb.es/httpdocs/catalogo/modules/homenewproducts/homenewproducts.php on line 88

Share this post


Link to post
Share on other sites

usted tiene algunos errores con caché

 

Abra el archivo y reemplazar el código actual con el código de abajo:

<?php
if (!defined('_PS_VERSION_'))
	exit;

class homenewproducts extends Module
{
	private $_html = '';
	private $_postErrors = array();

	function __construct()
	{
		$this->name = 'homenewproducts';
		$this->tab = 'front_office_features';
		$this->version = '1.1';
		$this->author = 'MyPresta.eu';

		parent::__construct();

		$this->displayName = $this->l('New products on the homepage');
		$this->description = $this->l('Displays new products in the middle of your homepage.');
	}

	function install(){
		//$this->_clearCache('homenewproducts.tpl');
		Configuration::updateValue('HNP_NBR', 8);

		if (!parent::install()
			|| !$this->registerHook('displayHome')
			|| !$this->registerHook('header')
			|| !$this->registerHook('addproduct')
			|| !$this->registerHook('updateproduct')
			|| !$this->registerHook('deleteproduct')
		)
			return false;
		return true;
	}
	
	public function uninstall(){
		//$this->_clearCache('homenewproducts.tpl');
		return parent::uninstall();
	}

	public function getContent(){
		$output = '<h2>'.$this->displayName.'</h2>';
		if (Tools::isSubmit('submitHomeFeatured'))
		{
			$nbr = (int)Tools::getValue('nbr');
			if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr))
				$errors[] = $this->l('An invalid number of products has been specified.');
			else
				Configuration::updateValue('HNP_NBR', (int)($nbr));
			if (isset($errors) AND sizeof($errors))
				$output .= $this->displayError(implode('<br />', $errors));
			else
				$output .= $this->displayConfirmation($this->l('Your settings have been updated.'));
		}
		return $output.$this->displayForm();
	}

	public function displayForm(){
		$output = '<iframe src="http://mypresta.eu/content/uploads/2012/09/htmlbox_advertise.html" width="100%" height="130" border="0" style="border:none;"></iframe>
		<form action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'" method="post">
			<fieldset><legend><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend>
				<label>'.$this->l('Define the number of products to be displayed.').'</label>
				<div class="margin-form">
					<input type="text" size="5" name="nbr" value="'.Tools::safeOutput(Tools::getValue('nbr', (int)(Configuration::get('HNP_NBR')))).'" />
					<p class="clear">'.$this->l('Define the number of products that you would like to display on homepage (default: 8).').'</p>

				</div>
				<center><input type="submit" name="submitHomeFeatured" value="'.$this->l('Save').'" class="button" /></center>
			</fieldset>
		</form>'.$this->l('like us on Facebook').'</br><iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Ffacebook.com%2Fmypresta&send=false&layout=button_count&width=120&show_faces=true&font=verdana&colorscheme=light&action=like&height=21&appId=276212249177933" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:120px; height:21px; margin-top:10px;" allowtransparency="true"></iframe>
        '.'<div style="float:right; text-align:right; display:inline-block; margin-top:10px; font-size:10px;">
        '.$this->l('Proudly developed by').' <a href="http://mypresta.eu" style="font-weight:bold; color:#B73737">MyPresta<font style="color:black;">.eu</font>.</a>
        ';
		return $output;
	}

	public function hookDisplayHeader($params){
		$this->hookHeader($params);
	}

	public function hookHeader($params){
		$this->context->controller->addCSS(($this->_path).'homenewproducts.css', 'all');
	}

	public function hookDisplayHome($params){
		//if (!$this->isCached('homenewproducts.tpl', $this->getCacheId('homenewproducts'))){
			$nb = (int)Configuration::get('HNP_NBR');  
            $productClass = new Product(); 
            $products = $productClass -> getNewProducts((int)Context::getContext()->language->id,0,($nb ? $nb : 8));
			$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__, 'homenewproducts.tpl');
	}

	public function hookAddProduct($params){
		//$this->_clearCache('homenewproducts.tpl');
	}

	public function hookUpdateProduct($params){
		//$this->_clearCache('homenewproducts.tpl');
	}

	public function hookDeleteProduct($params){
		//$this->_clearCache('homenewproducts.tpl');
	}
}

Share this post


Link to post
Share on other sites

Por cierto ¿como puedo poner el titulo en español? para que no salga new products

 

Pestaña "Localizaciones -> Traducciones" 

 

Bloque "Modificar Traducciones"

 

Elige Traducciones de los módulos y pinchar en la bandera Española y te aparece un cuadro de bloques de traducciones, busca el bloque llamado:

 homenewproducts

Share this post


Link to post
Share on other sites

  • 2 weeks later...

guapo el modulo.

 

se me presenta dos problemas. No me sale slider para poder ver todos los productos nuevos que son como vienen por defecto 8. (imagen adjunta)

Y si lo hicieran aparecerian descuadrados.

 

por otra parte, el texto de la "mini" descripción lo podria quitar y hacer el precio mas grande.

 

 

post-455053-0-29168500-1383336978_thumb.jpg

Share this post


Link to post
Share on other sites

Muchas gracias por el modulo, es muy interesante porque todos los dias añado productos nuevos y asi la pagina queda mas dinamica.

La he instalado en la version 1.5.5.0 y de momento funciona muy bien.

Solo he tenido que traducir el modulo y a funcionar.

 

Mi web si quereis ver como funciona: http://fonorola.es/prestashop/es/

 

Un cordial saludo y muchas gracias

Share this post


Link to post
Share on other sites

Muchas gracias por el módulo.

Me daba el error de la línea 88 y reemplacé el código.

Pero entonces me daba error con las miniaturas de las imágenes.

Por lo tanto me instalaré de nuevo la versión original, y observaré cómo solucionar el error de la línea 88.

Gracias por el módulo gratuito, saludos.

Share this post


Link to post
Share on other sites

Hola que tal?! Muchas gracias por tu aporte, es justo lo que estaba buscando aunque me he encontrado con un problema, los productos me aparecen en una sóla columna en vertical ¿? porque puede pasar esto? yo creo que quizás tenga algo que ver con la plantilla que uso, a ver si me podéis ayudar, muchas gracias.

 

www.saciasexshop.com

Edited by cyb3r (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Hola antes de nada muchas gracias por su trabajo se ve que es usted muy profesional. Ahora tengo un problema al igual que cyb3r me gustaría que la alineación del modulo fuera de horizontal y si puede ser que cuando no cupieran en la web se activaran unas flechas para ver los demás articulo seria perfecto . ¿es posible logra eso? un saludo y gracias.

Share this post


Link to post
Share on other sites

  • 4 weeks later...
  • 1 month later...
  • 4 weeks later...
  • 2 weeks later...
usted puede utilizar la función de reproducción aleatoria 

pero en este caso su necesario modificar el archivo php módulo. y eliminar el almacenamiento en caché de este addon. 

no hay otra manera.

Share this post


Link to post
Share on other sites

 

usted puede utilizar la función de reproducción aleatoria 
pero en este caso su necesario modificar el archivo php módulo. y eliminar el almacenamiento en caché de este addon. 
no hay otra manera.

 

 Hola Vekia, puedes pasarme el modulo para que me salga directamente en español?? sigo sin poder traducir este modulo

Gracias

Share this post


Link to post
Share on other sites

  • 4 months later...

Hola!

 

El módulo está genial, pero no consigo hacer que los productos que se muestren no sean solo los últimos que se han introducido.

 
public function hookDisplayHome($params)
{
$nb = (int)Configuration::get('HNP_NBR');
$productClass = new Product();
$products = $productClass -> getNewProducts((int)Context::getContext()->language->id,0,($nb ? $nb : 8);
shuffle($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__, 'homenewproducts.tpl');

}

 

Entiendo que hay que modificar esta función pero no termino de ver que es lo que hay que cambiar. Por favor, ¿puedes echarme una mano?

 

Muchas gracias,

Saludos,

Share this post


Link to post
Share on other sites

Hola, un módulo muy  bueno!

 

A ver si me podéis ayudar, lo he instalado pero no me muestra las imagenes. Si desactivo los enlaces amigables si las muestra.

 

Alguna sugerencia? Gracias.

Share this post


Link to post
Share on other sites

Hola!

 

El módulo está genial, pero no consigo hacer que los productos que se muestren no sean solo los últimos que se han introducido.

 
public function hookDisplayHome($params)
{
$nb = (int)Configuration::get('HNP_NBR');
$productClass = new Product();
$products = $productClass -> getNewProducts((int)Context::getContext()->language->id,0,($nb ? $nb : 8);
shuffle($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__, 'homenewproducts.tpl');

}

 

Entiendo que hay que modificar esta función pero no termino de ver que es lo que hay que cambiar. Por favor, ¿puedes echarme una mano?

 

Muchas gracias,

Saludos

Lo has conseguido solucionar??

Share this post


Link to post
Share on other sites

Sigo teniendo el mismo problema Pradillo.

 

@vekia, ¿podrías iluminarnos con cómo hacerlo para que no solo se muestren los últimos productos introducidos? ¿Existe la opción de hacer un random con todos los últimos productos introducidos?
 
Saludos,
Edited by rubendelcb (see edit history)

Share this post


Link to post
Share on other sites

  • 2 months later...

Buenas tardes,

al instalar el módulo, carga solo la primera imagen y mitad de la segunda, y verticalmente.   La plantilla es modificada sobre la default, y mi versión de prestashop es  1.6.0.8. Es compatible?

gracias,

Carlos

Share this post


Link to post
Share on other sites

  • 1 month later...

Hola,

 

Estoy teniendo problemas al intentar instalar este módulo, recibo el siguiente mensaje de error:

 

Fatal error: Call to undefined method homenewproducts::getCacheId() in /../modules/homenewproducts/homenewproducts.php on line 88

 

he probado la solución que propones en el post #14, pero solo consigo que cambie el error a la linea 95

 

 

Versión: PS 1.5.2.0

farmamores24h.com

 

Agradecería un poco de ayuda, gracias

Share this post


Link to post
Share on other sites

Hola,

 

Estoy teniendo problemas al intentar instalar este módulo, recibo el siguiente mensaje de error:

 

Fatal error: Call to undefined method homenewproducts::getCacheId() in /../modules/homenewproducts/homenewproducts.php on line 88

 

he probado la solución que propones en el post #14, pero solo consigo que cambie el error a la linea 95

 

 

Versión: PS 1.5.2.0

farmamores24h.com

 

Agradecería un poco de ayuda, gracias

 

 

check post #4 here :-)

Share this post


Link to post
Share on other sites

  • 8 months later...
  • 2 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More