Jump to content

(RESUELTO) Problema 1.3.1 "Novedades"


Recommended Posts

Hola,
me he instalado la versión 1.3.1 y no veo la forma de conseguir lo que necesito. Resulta que tengo productos nuevos y productos que estarán disponibles en breve. El problema es que si meto los productos que todavía no están disponibles me salen en el bloque novedades. ¿Como puedo hacer que no me salgan ahí?. Lo ideal sería que el bloque novedades buscase en la base de datos los productos nuevos (como hace) pero que limite la fecha de novedad hasta el día en el que se esté. He visto que en la tabla products de la base de datos hay un campo que se llama date_add y que está relacionado con eso. ¿Como puedo hacer para que en el bloque novedades me limite la fecha al día de hoy y que no coja los días posteriores?

Gracias

Link to comment
Share on other sites

Lo único que se me ocurre es que modifiques la consulta que aparece en /classes/Product.php, función getNewProducts en la línea 1083, en dicha función se realizan dos consultas, una para obtener el nº de artículos en novedades y otra para obtener el listado.

Entiendo que la fecha la pones de alguna forma automatizada y que tendrás algún módulo para introducir las próximas apariciones.

También puedes decidir tener los productos desactivados y activarlos en dicha fecha, si tienes un módulo para introducir las próximas novedades se puede modificar para que introduzca el artículo desactivado y lo active en la fecha de aparición.

Link to comment
Share on other sites

En primer lugar gracias por responder, se agradece....

Te cuento, los productos los importé a la web con la importación de prestashop y luego desde access, mediante un conector odbc para mysql, vinculé la tabla products del servidor e importé un fichero de excel de mi proveedor con los precios ya calculados con su margen y la fecha del producto entre otras cosas. Como algunas fechas son de días posteriores (por ejemplo, el gran turismo 5 para PS3 sale el 10 de septiembre) pues de la manera que está diseñado prestashop me muestra ese producto y no quiero que salga ahí. Una vez que vea donde se modifica lo que haré será crear un módulo modificando ese mismo parámetro y haciéndolo al revés, que salgan los productos que superen el día de hoy para que salgan en "Próximamente".

Estuve buscando pero no encuentro nada gratuito que lo incorpore así que me tocará currarmelo.

Voy a ver eso que dices a ver si doy con ello.

Un saludo

Link to comment
Share on other sites

Nada, no lo he conseguido, después de mirarlo varias horas no doy con ello. Al final he hecho algo tan simple como cambiar en la línea 1110

WHERE `active` = 1

por esto otro

WHERE `id_product` = 1

del fichero que me has dicho y no me sale solo ese producto, me sale lo mismo que de la otra forma, raro raro raro

Link to comment
Share on other sites

Resuelto, al final he dado con ello. En el fichero /classes/Product.php

He añadido dos lineas para que funcione correctamente

en la 1111 después de WHERE `active` = 1

añado
AND p.`date_add` <= CURDATE ()

y en la línea 1135 despues de WHERE p.`active` = 1

añado
AND p.`date_add` <= CURDATE ()

Con esto ahora salen únicamente las novedades reales y no las futuras.

Gracias

Link to comment
Share on other sites

Para el módulo 'próximamente' duplica la función getNewProducts cambiando las dos líneas que has agregado por AND p.`date_add` > CURDATE (), después en la carpeta modules copias la carpeta blocknewproducts y le pones otro nombre (en minúsculas), los ficheros de la nueva carpeta deben tener el mismo nombre que la carpeta, modificas el nombre de la clase en el fichero php y buscas new en el php y en tpl cambiando dichos textos por unos que identifiquen el nuevo propósito.
Después, en la línea 68 del fichero php cambias Product::getNewProducts por la nueva función que hayas creado.

Te aconsejo hacerlo en local, si tienes alguna duda pregunta.

Un saludo

Link to comment
Share on other sites

Hola,
eso que comentas ya lo hice y me funciona bien, lo único y todavía no he dado con ello es hacer que al pinchar en próximamente se me abran los productos que van a salir en lugar de los productos que son novedades.

Gracias

Link to comment
Share on other sites

Copia los ficheros /new-products.php y /theme/{tu-tema}/new-products.tpl, en el primero llama a la nueva función (la que devuelve el listado de 'próximamente' y la llamada al tpl, en el segundo cambia lo que creas necesario (básicamente el título y el mensaje si no se encuentran artículos)

Un saludo

Link to comment
Share on other sites

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