rafamerida Posted March 12, 2013 Share Posted March 12, 2013 (edited) Actualmente estamos trabajando en una tienda en la cual hemos importado unos 800 productos de golpe, y tenemos el problema de que lógicamente aparecen todos con la etiqueta de "NUEVO". Muchos de estos productos tienen su antigüedad, independientemente de que la fecha de inserción en el programa es la que manda. Sé que eso depende de la fecha de inserción, y que se puede cambiar el número de días en los que los productos se consideran como "Novedad", pero lo que queremos es poder elegir manualmente qué productos se muestran como "Nuevo". ¿Hay algún plugin o modificación que permita hacer esto? Porque simplemente con poder cambiar la fecha de inserción de cada producto, sería suficiente, pero no sé, igual hay algún módulo que ya lo permita. O la manera más a lo bruto: en la pantalla de edición de un producto, ¿qué archivos habría que modificar para añadir un nuevo campo con la fecha de inserción del producto? Edited March 12, 2013 by rafamerida (see edit history) Link to comment Share on other sites More sharing options...
rafamerida Posted March 12, 2013 Author Share Posted March 12, 2013 (edited) Pues ya he encontrado la manera de hacerlo, aunque no sé si será lo más correcto. Lo que tengo claro es que cada vez que instale una actualización, habrá que volver a hacer este cambio, pero bueno. Mi apaño va a ser cambiar a mano la fecha de inserción del producto en la base de datos. En el MYSQL hay un campo que se llama "date_add", y otro de "date_upd". Éste último es el de última actualización, no nos interesa, el "date_add" sí. Si lo que queremos es que un producto aparezca como NUEVO o no, cambiamos su fecha de inserción. Si está dentro de los X días que tenemos definidos para que aparezca como nuevo, pues aparecerá con esta etiqueta según le cambiemos la fecha o no. ADVERTENCIA: Mi versión de PS es la 1.5.3.1, desconozco si esto puede tener otros inconvenientes o incompatibilidades, hacedlo bajo vuestra responsabilidad. Mi arreglo ha sido el siguiente: En la pantalla de edición de producto, quiero añadir el campo "Fecha de creación". Hay que editar el archivo "/admin/themes/default/template/controllers/products/informations.tpl" Buscar aproximadamente en la línea 145, justo antes de cerrar el : </tr> </table> Cambiar por este bloque de código, con lo cual insertamos otra fila: <tr> <td class="col-left"><label>Fecha de creación del producto:</label></td> <td style="padding-bottom:5px;"> <input size="55" maxlength="13" type="text" id="date_add" name="date_add" value="{$product->date_add}" class="datepicker" style="width: 130px; margin-right: 5px;" /> Año-Mes-Día (ej. 2013-04-28) </td> </tr> </table> Con esto añadimos una fila nueva en la primera pestaña "información", en la cual podemos elegir nuestra fecha de inserción, y al GUARDAR se actualiza esta fecha en la base de datos, por arte de magia, supongo que por la manera en que está hecho el Prestashop, no hace falta tocar ningún archivo más para que este dato se guarde. Edited March 19, 2013 by rafamerida (see edit history) Link to comment Share on other sites More sharing options...
nadie Posted March 12, 2013 Share Posted March 12, 2013 [sOLUCIONADO] VER RESPUESTA abajo. Si das el tema como solucionado, edita el titulo del tema, editando el primer mensaje, pulsando en editar, y después en "Usar editor completo", añadiendo la palabra "Solucionado" al titulo, esto ayudara, a mantener una mayor organización en el foro. Link to comment Share on other sites More sharing options...
UniArt Posted July 20, 2013 Share Posted July 20, 2013 (edited) Gracias por el aporte, aun que la solución sea para la ps1.5, he logrado hacer algo en la 1.4 aquí los pongo la solución para la 1.4 en el caso que alguien más la necesite : En admin/tabs/adminproducts.php buscar por eso </select> <a href="?tab=AdminSuppliers&addsupplier&token='.Tools::getAdminToken('AdminSuppliers'.(int)(Tab::getIdFromClassName('AdminSuppliers')).(int)($cookie->id_employee)).'" onclick="return confirm(\''.$this->l('Are you sure you want to delete entered product information?', __CLASS__, true, false).'\');"><img src="../img/admin/add.gif" alt="'.$this->l('Create').'" title="'.$this->l('Create').'" /> <b>'.$this->l('Create').'</b></a> </td> </tr> y logo en seguida del codigo ariba añadir este código: <tr> <td class="col-left"><label>'.$this->l('add product date:').'</label></td> <td style="padding-bottom:5px;"> <input size="55" maxlength="19" type="text" id="date_add" name="date_add" value="'.htmlentities($this->getFieldValue($obj, 'date_add'), ENT_COMPAT, 'UTF-8').'" class="datepicker" style="width: 130px; margin-right: 5px;" /><br> '.$this->l('year-month-day ex.').' :<br> 2013-07-20 00:00:00 </td> </tr> No hay que cambiar nada es solo añadir despues de </tr> Después se puede traducir en la pestaña traducciones los campos "add product date:" por "fecha de creación de producto:" y "year-month-day ex." por año-mes-dia ej. Saludos a todos. Edited July 20, 2013 by UniArt (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts