Necesitas mi libro "Claves para abrir una tienda online y que venda" y lo sabes...


¿Quieres comprarlo en otro sitio?

Amazon | Casa del Libro

Deshabilitar añadir carrito en Prestashop en algunos articulos sin existencias

La funcionalidad a incorporar a la tienda Prestashop (v.1.6) es la siguiente: para determinadas categorías, en caso de no tener existencias y la fecha de creación del artículo (campo "date_add") ser superior a 2 años respecto al año actual, no dejar comprar ocultando el botón de "Añadir al carrito" y redirigir o sacar enlace a un formulario específico donde pedir ese artículo (el formulario debe tener ya completados los datos principales del artículo como TITULO y REFERENCIA si la página anterior era la ficha del producto sin existencias).

No se puede usar la funcionalidad de gestión de stock de Prestashop (Preferencias > Productos > Inventario de productos) porque la condición de permitir o no la venta del artículo no depende del número de existencias (campo quantity) sino de otro campo de la ficha del artículo (campo "coleccion") que además no es un campo predefinido de la ficha en la tabla ps_product
(es un campo específico) de la tienda.

Por otra parte, no se trata de habilitar o no la venta de productos sin stock, sino de que aquellos sin stock dependiendo de una determinada condición (categoría determinada y condición de la fecha respecto a campo específico "colección"), puedan añadirse al carrito y comprarse, o redirigir y enlazar a un formulario específico de pedido, y además aplicado sólo a determinadas categorías de la tienda.


ARCHIVOS RELACIONADOS:

themes/NOMBRE_PLANTILLA/product.tpl -> Ya existente
disponibilidad.php -> NUEVO (comprueba condiciones disponibilidad para un id_product)
solicitud.php -> NUEVO (formulario solicitud)
enviar.php -> NUEVO (recoge datos solicitud.php y envía mail)


DESCRIPCIÓN:

PRODUCT.TPL

- Inserto un iframe en product.tpl (linea 208) con llamada  "disponibilidad.php=123"

<iframe src="../../disponibilidad.php?id_product={$product->id}" style="width: 100%; height: 24px; scrolling: no; frameborder: 0;"></iframe>

DISPONIBILIDAD.PHP

-  Valido la disponibilidad sólo para CATEGORIA X (ej: $datos["id_category_default"] == 23) y CATEGORIA Y (ej: $datos["id_category_default"] == 24)

Compruebo si hay unidades y en caso negativo,si el periodo desde la fecha de la colección y el año actual es superior a 2 años, oculto el botón  de "Añadir al carrito" y el control de unidades y saco 2 cosas: ventana navegador tipo confirm() para ir al formulario de solicitud de pedido directamente al aceptar y enlace a ese formulario (solicitud.php?id_product=123).

SOLICITUD.PHP

Formulario para recoger datos y sacar TITULO y REFERENCIA a partir de ID_PRODUCT recibido como parámetro desde la ficha de producto (product.tpl)

Inicialmente el formulario de pedido se publicó insertado dentro de una página de contenido o CMS pero se descartó esta opción al no poder recoger el id_product y/o poder detectar sobre ARTICULO se estaba realizando la solicitud.


ENVIAR.PHP

El formulario envía los datos a enviar.php, una vez enviado y dependiendo del resultado redirige a las páginas cms preparadas de envío ok o envio error  (ej: www.yquevenda.com/content/12-okenvio y www.yquevenda.com/content/13-errorenvio).


No hay comentarios:

Publicar un comentario