Jump to content

Mail alerts en product list


mpbAAA

Recommended Posts

Buenas,

 

 

Querríamos mostrar "indicarme cuando esté el stock disponible", a parte de en el producto, también en 

la lista de articulos (en el modo lista, no grid).

 

El primer problema que nos encontramos es que el módulo no puede ser transapasdo en el hook "display product list products functional buttons "

 

Una manera quiizá posible seria copiar el contenido de product.tpl (que está en la carpeta de mail alerts), en product list....

pero de momento no lo hemos conseguido....

 

Nos podrían sugerir una idea?

 

gracias,

 

MP

Link to comment
Share on other sites

Tendrás que reescribir el módulo para que use un hook del product-list. En prinicipio con esto debería de valerte ya que no creo que use muchos datos ese módulo que tengas que recuperar.

Link to comment
Share on other sites

Buenas,

 

 

 

 

 

Por alguna razón que desconocemos, en  product-list.tpl no conseguimos ver "Indicarme cuando esté disponible" cuando un articulo tiene stock por debajo de 0 unidades

({$HOOK_PRODUCT_OOS} en product-list.tpl)

 

 

Los cambios que hemos hecho son:

 

1.- añadir    return $this->display(__FILE__, 'product-list.tpl'); en public function hookActionProductOutOfStock($params) de el archivo mailalerts.php

 

2.- copiar el js que hay en mailalerts/views/template/hook/product.tpl y disponerlo en un archivo en la misma ubicación con el nombre mailalerts/views/template/hook/product-list.tpl

 

 

pero no funciona....

 

alguna idea ?

 

muchas gracias,

 

MP

Link to comment
Share on other sites

Revisa la documentación paracrear módulos: http://doc.prestashop.com/display/PS16/Creating+a+first+module

Seguro que estáis comentiendo algún error o te falta algún paso para que todo funcione.

Además de eso, lo de copiar y pegar en la programación rara vez funciona. En el product-list no te llegan los datos de la misma manera que al product.tpl por lo que si copias y pegas no funcionará nunca.

Link to comment
Share on other sites

Revisa la documentacion que te ha indicado jesa para tener claros los conceptos. Como te ha dicho, la manera en la que se genera la información del producto varia segun donde se tome, en el product-list.tpl es un array mientras que el product.tpl en un objeto.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

Hola,

 

De momento tenemos el nuevo hook en mailalerts.php.

 

Ahora, tenemos que pasar la variable $id_product* del hook al fichero actions.php (carpeta controller). 

 

 

Allí, tenemos que cambiar $id_product = (int)Tools::getValue('id_product');  

por $id_product = $id_product *

 

pero de momento no sabemos como hacerlo. Suponemos que tenemos que hacer un return en el hook de la variable para ser usada globalmente, y así usarla en el controller del módulo.

 

 

Les agradecemos cualquier tipo de ayuda.

 

Marc

 

 

 

 

 public function hookMyNewCool($params)
        {
 
    $context = Context::getContext();
  $id_product = $params['idproduct'];  
        
                $id_customer = (int)$context->customer->id;
 
                if ((int)$context->customer->id <= 0)
                        $this->context->smarty->assign('email', 1);
                elseif (MailAlert::customerHasNotification($id_customer, $id_product, $id_product_attribute, (int)$context->shop->id))
                        return;
 
 
                $this->context->smarty->assign(
                        array(
                                'id_product' => $id_product,
                              'id_product_attribute' => $id_product_attribute
 
                        )
                );
 
echo "$id_product";
 
 
return $this->display(__FILE__, 'product-list.tpl');
 
}
 
 
---------------------------------------------------
Link to comment
Share on other sites

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
×
×
  • Create New...