Jump to content

[SOLUCIONADO] Elegir qué productos se muestran como NUEVOS


rafamerida

Recommended Posts

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 by rafamerida (see edit history)
Link to comment
Share on other sites

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 by rafamerida (see edit history)
Link to comment
Share on other sites

[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

  • 4 months later...

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 by UniArt (see edit history)
  • Like 1
Link to comment
Share on other sites

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