[Modulo] Administración de las alertas de correo de los clientes - Módulos y plantillas gratuitas - PrestaShop

Jump to content

Photo

[Modulo] Administración de las alertas de correo de los clientes

mailalerts oos alertas

#1

Posted 04 November 2013 - 09:19 PM

dwilden

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 129 Active Posts

Hola de nuevo,

 

Publico aquí mi nueva aportación, se trata de un modulo de administración que os permite visualizar las alertas de los usuarios que se han dado de alta en los productos agotados.

 

Os permite visualizar el mail del cliente, producto y la combinación, ademas de ordenar la lista y borrar las notificaciones.

 

Una vez instalado, se accede mediante el menú de administración, Clientes -> Notificaciones de Clientes.

 

Compatible solo con la versión 1.5.x

 

Espero que os sirva de ayuda.

 

Otros modulos disponibles:

http://www.prestasho...de-stock-ps-15/

http://www.prestasho...-cleanner-ps15/

Attached Files


Edited by dwilden, 25 February 2014 - 10:21 PM.


#2

Posted 04 November 2013 - 09:35 PM

emarsax

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 104 Active Posts
Hola, para que versiones es válido?.. Gracias

#3

Posted 04 November 2013 - 09:45 PM

dwilden

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 129 Active Posts

Hola Emarsax,

 

Esta desarrollado para la versión PS1.5.



#4

Posted 04 November 2013 - 09:48 PM

Josraso

    PrestaShop Addict

  • Members
  • PipPipPip
  • 672 Active Posts

Probado en prestashop 1.5.6 y funciona de maravilla. 

 

Gracias por el aporte.



#5

Posted 15 November 2013 - 08:22 AM

sergio1440069

    PrestaShop Apprentice

  • Members
  • PipPip
  • 98 Active Posts

y como se instala?



#6

Posted 15 November 2013 - 04:20 PM

runningz

    PrestaShop Newbie

  • Members
  • Pip
  • 17 Active Posts

a mi no se me muestra, no me sale en el menu. Prestashop 1.5.6



#7

Posted 15 November 2013 - 04:31 PM

runningz

    PrestaShop Newbie

  • Members
  • Pip
  • 17 Active Posts

Ok, ya esta!

 

Hay que crear una nueva carpeta en "modules" y copiar el contenido alli.

 

Gracias por el aporte... :)

 

No se si se puede añadir la fecha en que el usuario se ha apuntado al producto.. se me acuerdo este finde lo miro y lo resubo (con el permiso de dwilde).



#8

Posted 21 November 2013 - 02:09 AM

ManTheCavern

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 300 Active Posts

Interesaría que fuera valido para la 1.4.x

 

¿alguna posibilidad?



#9

Posted 17 January 2014 - 12:56 AM

nadie

    PrestaShop Legend

  • Community Moderators
  • 40676 Active Posts

Notificación para dwilden
 
Módulo agregado al índice de módulos gratuitos: http://www.prestasho...s-foro-español/

PD: Gracias por su colaboración con la Comunidad de Prestashop.


Recursos para Prestashop - Víctor José Ródenas Gascó - info@victor-rodenas.com

No ofrezco soporte sobre Prestashop (tanto de forma voluntaria como profesional) desde finales del 2013 e inicios del 2014
victor-rodenas.com/2016/12/05/como-empezo-mi-andadura-en-prestashop-en-el-2010/ | victor-rodenas.com/donar.php


#10

Posted 18 January 2014 - 10:18 AM

calpee

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 214 Active Posts

funciona perfectamente, 1.5.5, acordaros que después de subir el módulo a prestashop hay que buscarlo e instalarlo, ya luego ya se ve en el menú cliente-notificaciones de clientes.

 

Muchas gracias por la aportación



#11

Posted 18 January 2014 - 03:07 PM

Lobiks

    PrestaShop Newbie

  • Members
  • Pip
  • 1 Active Posts

Buenas tardes,

lo primero felicitarte y darte las gracias por este gran módulo.

He detectado un pequeño fallo dado porque el prefijo de las tablas de la base de datos en mi caso no es 'ps'.

 

El problema viene de la función renderList() del fichero controllers/admin/AdminMaillertsOos.php que no utiliza _DB_PREFIX_

 

El código original es este:

public function renderList()
{
	$this->_select = 'p.`id_product`, pl.`name`, p.`active`,
		CONCAT(GROUP_CONCAT(IFNULL(al.name, \'\'), \'\')) attribute,
		if(isnull(pa.reference),p.reference,pa.reference) AS referencia';
	$this->_join = '
		LEFT JOIN ps_product_attribute_combination AS pac ON a.id_product_attribute = pac.id_product_attribute
		LEFT JOIN ps_product_attribute AS pa ON pa.id_product_attribute = a.id_product_attribute
		LEFT JOIN ps_attribute AS att ON att.id_attribute = pac.id_attribute
		LEFT JOIN ps_attribute_group AS ag ON ag.id_attribute_group = att.id_attribute_group
		LEFT JOIN ps_attribute_lang AS al ON att.id_attribute = al.id_attribute AND al.id_lang = '.(int)Context::getContext()->language->id.'
		LEFT JOIN ps_attribute_group_lang AS agl ON ag.id_attribute_group = agl.id_attribute_group AND agl.id_lang = '.(int)Context::getContext()->language->id.'
		LEFT JOIN ps_product AS p ON p.id_product = a.id_product
		LEFT JOIN ps_product_lang AS pl ON p.id_product = pl.id_product AND pl.id_lang = '.(int)Context::getContext()->language->id;
	$this->_group = 'GROUP BY a.id_mailalert_customer_oos';
	$this->_orderBy = 'pl.name';
	$this->_orderWay = 'ASC';
		
	return parent::renderList();		
}

El código que funcionará en todos los entornos es este:

public function renderList()
{
	$this->_select = 'p.`id_product`, pl.`name`, p.`active`,
		CONCAT(GROUP_CONCAT(IFNULL(al.name, \'\'), \'\')) attribute,
		if(isnull(pa.reference),p.reference,pa.reference) AS referencia';
	$this->_join = '
		LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute_combination AS pac ON a.id_product_attribute = pac.id_product_attribute
		LEFT JOIN ' . _DB_PREFIX_ . 'product_attribute AS pa ON pa.id_product_attribute = a.id_product_attribute
		LEFT JOIN ' . _DB_PREFIX_ . 'attribute AS att ON att.id_attribute = pac.id_attribute
		LEFT JOIN ' . _DB_PREFIX_ . 'attribute_group AS ag ON ag.id_attribute_group = att.id_attribute_group
		LEFT JOIN ' . _DB_PREFIX_ . 'attribute_lang AS al ON att.id_attribute = al.id_attribute AND al.id_lang = '.(int)Context::getContext()->language->id.'
		LEFT JOIN ' . _DB_PREFIX_ . 'attribute_group_lang AS agl ON ag.id_attribute_group = agl.id_attribute_group AND agl.id_lang = '.(int)Context::getContext()->language->id.'
		LEFT JOIN ' . _DB_PREFIX_ . 'product AS p ON p.id_product = a.id_product
		LEFT JOIN ' . _DB_PREFIX_ . 'product_lang AS pl ON p.id_product = pl.id_product AND pl.id_lang = '.(int)Context::getContext()->language->id;		
	$this->_group = 'GROUP BY a.id_mailalert_customer_oos';
	$this->_orderBy = 'pl.name';
	$this->_orderWay = 'ASC';
		
	return parent::renderList();		
}

Un saludo!



#12

Posted 19 January 2014 - 11:15 PM

dwilden

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 129 Active Posts

Actualizado, corregido el error en la consulta sql.

 

Gracias Lobiks :-)



#13

Posted 26 January 2014 - 11:37 AM

forcobay

    PrestaShop Apprentice

  • Members
  • PipPip
  • 94 Active Posts

Hola de nuevo,

 

Publico aquí mi nueva aportación, se trata de un modulo de administración que os permite visualizar las alertas de los usuarios que se han dado de alta en los productos agotados.

 

Os permite visualizar el mail del cliente, producto y la combinación, ademas de ordenar la lista y borrar las notificaciones.

 

Una vez instalado, se accede mediante el menú de administración, Clientes -> Notificaciones de Clientes.

 

Compatible solo con la versión 1.5.x

 

Espero que os sirva de ayuda.

 

Otros modulos disponibles:

http://www.prestasho...de-stock-ps-15/

http://www.prestasho...-cleanner-ps15/

 

Gracias una vez mas por tus aportaciones Dwilden!



#14

Posted 24 February 2014 - 02:28 PM

infinityl

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 159 Active Posts

Genial! Mil gracias, llevaba tiempo pensando que estaría bien algo así! :D


Dios es real... a no ser que declare como entero.

#15

Posted 25 February 2014 - 04:55 PM

moraira

    PrestaShop Fanatic

  • Members
  • PipPipPipPip
  • 1048 Active Posts

Actualizado, corregido el error en la consulta sql.

 

Gracias Lobiks :-)

 

ups creo que faltan las dos últimas lineas por corregir

public function renderList()
	{
		$this->_select = 'p.`id_product`, pl.`name`, p.`active`,
				CONCAT(GROUP_CONCAT(IFNULL(al.name, \'\'), \'\')) attribute,
				if(isnull(pa.reference),p.reference,pa.reference) AS referencia';
		$this->_join = '
				LEFT JOIN '._DB_PREFIX_.'product_attribute_combination AS pac ON a.id_product_attribute = pac.id_product_attribute
				LEFT JOIN '._DB_PREFIX_.'product_attribute AS pa ON pa.id_product_attribute = a.id_product_attribute
				LEFT JOIN '._DB_PREFIX_.'attribute AS att ON att.id_attribute = pac.id_attribute
				LEFT JOIN '._DB_PREFIX_.'attribute_group AS ag ON ag.id_attribute_group = att.id_attribute_group
				LEFT JOIN '._DB_PREFIX_.'attribute_lang AS al ON att.id_attribute = al.id_attribute AND al.id_lang = '.(int)Context::getContext()->language->id.'
				LEFT JOIN '._DB_PREFIX_.'attribute_group_lang AS agl ON ag.id_attribute_group = agl.id_attribute_group AND agl.id_lang = '.(int)Context::getContext()->language->id.'
				LEFT JOIN ps_product AS p ON p.id_product = a.id_product
				LEFT JOIN ps_product_lang AS pl ON p.id_product = pl.id_product AND pl.id_lang = '.(int)Context::getContext()->language->id;		
		$this->_group = 'GROUP BY a.id_mailalert_customer_oos';
		$this->_orderBy = 'pl.name';
		$this->_orderWay = 'ASC';
		
		return parent::renderList();		
	}	

Edited by moraira, 25 February 2014 - 04:55 PM.


#16

Posted 25 February 2014 - 04:57 PM

moraira

    PrestaShop Fanatic

  • Members
  • PipPipPipPip
  • 1048 Active Posts

dwilden un modulazo,

 

muchas gracias, justo yo acabo de postear una pequeña modificación en el modulo de PS para evitar que los clientes puedan registrar por error las direcciones su@email.com, your@email.com, votre@email.com etc

 

gracias por el aporte

 

 

http://www.prestasho...rar-mailalerts/



#17

Posted 25 February 2014 - 06:44 PM

moraira

    PrestaShop Fanatic

  • Members
  • PipPipPipPip
  • 1048 Active Posts

Por si os viene bien me he tomado la libertad de estudiar el módulo y para agregar un campo fecha y así saber la "edad" de la información, basta crear un campo fecha llamado por ejemplo date_add con valor predeterminado "fecha hora actual"

 

ojo al prefijo de la tabla, que cada uno ponga el suyo

ALTER TABLE  `prstshp_mailalert_customer_oos` ADD  `date_add` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ; 

bueno ya esta creado el campo, ahora hacemos que aparezca, para ello vamos al fichero: www.mitienda/modules/mailalerts_oos/controllers/admin/AdminMailalertsOos.php y al final de la public function __construct() como en la linea 56 insertamos esto:

			'date_add' => array(
			'title' => $this->l('Date'),
			'width' => 130,
			'align' => 'right',
			'type' => 'datetime',
			'search' => false,
			'filter_key' => 'a!date_add'
		), 

es decir que la funcion que terminaba así:

			'referencia' => array(
				'title' => $this->l('Reference'),
				'align' => 'left',
				'width' => 150,
				'search' => false
			),	
			'active' => array(
				'title' => $this->l('Enabled'),
				'align' => 'center',
				'active' => 'status',
				'type' => 'bool',
				'search' => false,
				'width' => 25
			)
		);
		
		$this->clearFilters();
		
		parent::__construct();
	}
 

ahora debe terminar así

			'referencia' => array(
				'title' => $this->l('Reference'),
				'align' => 'left',
				'width' => 150,
				'search' => false
			),
			'date_add' => array(
			'title' => $this->l('Date'),
			'width' => 130,
			'align' => 'right',
			'type' => 'datetime',
			'search' => false,
			'filter_key' => 'a!date_add'
		),
			'active' => array(
				'title' => $this->l('Enabled'),
				'align' => 'center',
				'active' => 'status',
				'type' => 'bool',
				'search' => false,
				'width' => 25
			)
		);
		
		$this->clearFilters();
		
		parent::__construct();
	} 

y ya tenemos campo fecha-hora  :)



#18

Posted 25 February 2014 - 07:45 PM

Hectorete

    PrestaShop Newbie

  • Members
  • Pip
  • 22 Active Posts

Muchas gracias! Voy a probarlo ahora mismo!! :-)



#19

Posted 25 February 2014 - 10:24 PM

dwilden

    PrestaShop Enthusiast

  • Members
  • PipPip
  • 129 Active Posts

Gracias Moraira,

 

 

He actualizado el modulo corrigiendo el la linea de la consulta sql.

 

Hace un tiempo intente añadir la fecha, pero vi que tenia que tocar el core, tal como tu lo planteas y preferí dejarlo tal como esta, apto para todos los usuario :-)

 

De todas maneras, es una buena aportación para los mas entendidos, muchas gracias :-)



#20

Posted 06 March 2014 - 02:28 AM

RC Ecommerce

    PrestaShop Newbie

  • Members
  • Pip
  • 11 Active Posts

Gracias dwilden. He instalado tu modulo y funciona perfectamente. La sorpresa es que, como bien indicas en tu post de respuesta en el hilo 

"APORTE Mejorar mailalerts", la mitad de los email de avisos eran erroneos solo aparecía "su@email.com". Así que he modificado la traducción como recomiendas.

Al no saber las fechas de los avisos, me falta información para saber si aún pueden ser relevantes, así que también he realizado las modificaciones que indicas moraima, gracias también a ti

 

Un aporte estupendo y muy útil.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Cookies help us deliver our services. By using our services, you agree to use our cookies.     Learn more