Jump to content

Peibolvig

Members
  • Posts

    31
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

Peibolvig's Achievements

Newbie

Newbie (1/14)

2

Reputation

  1. Hi, I'm using prestashop version 1.5.4.1. I was asked to send a bcc email to a second address only when the order status change to payment done. I found some solutions to send a second email everytime an email is sent, but can't locate where is the test of orderStatus to send or not the secondary email. Can anyone give me some guidance please? Regards.
  2. Creo que la clave está en el AdminOrdersControllers.php, estoy echándole un ojo y en la función: postProcess() hay un comentario que pone: "/* Change order state, add a new entry in order history and send e-mail to the customer if needed */" Pero todavía no logro dar con la forma de enviar el mail cuando está en estado "Pago aceptado" o "Pago electrónicamente Aceptado". Aunque presiento que estoy cerca Saludos!
  3. Hola, Uso 1.5.4.1. Me piden que cuando el cliente haya pagado el carrito, se envíe un email en copia oculta a un destinatario fijo. He encontrado algunas soluciones que envían esa copia siempre que hay un cambio de estado en el producto, pero yo busco que esa copia del email sólo se envíe en caso de cambio de estado del pedido a "pagado". Se os ocurre alguna solución? Dónde podría tocar, para diferenciar si el estado es "pagado" y entonces hacer el envío del email con copia? Saludos!
  4. Ok, por si a alguien le interesa, solucioné el problema usando {$smarty.server.HTTP_REFERER} Aunque esto con la variable $come_from debería funcionar, por lo que supongo que debe de haber algún bug. Lo lógico sería que en FrontController.php, se inicializara correctamente, pero por alguna razón no lo hace (al menos en mi caso). Saludos!!
  5. Hola, Usando Prestashop 1.5.4.1 Tengo un problema con la variable $come_from de smarty, siempre me apunta a la misma web en la que me encuentro, y no entiendo si esto es un bug o es que alguien tocó algo dónde no debía antes de encargarme llevar este proyecto. Se sabe si esto es un bug? si no, sabéis dónde define smarty esa variable? ¿Alguna sugerencia alternativa que no sea el back history de javascript? Saludos!!
  6. Pues no conocía esa opción para configurar el pedido mínimo, es bueno saberlo. En principio la idea era advertir al cliente que podía continuar, pero que se le cobraría el precio mínimo del carrito. Efectivamente estoy bajo la normativa europea. No sabía que hacer algo así sería ilegal, ayer me plantearon si existía la posibilidad de hacer eso y me puse a buscar. Pero les comentaré lo de la normativa, para que traten de buscar otra solución (que yo creo que lo mejor sería aplicar lo que comentas del pedido mínimo, a coste de perder algún cliente). Les comentaré a los jefes que lo que quieren hacer puede estar en la zona roja de lo legal, voy a ver si encuentro algo de información al respecto para enviárselo. Muchas gracias por la información Moraira!!
  7. Hola, Alguien sabe cómo puedo definir un precio mínimo por carrito? Es decir, si el precio mínimo por carrito es 45€ y el cliente hace un pedido de 20€, avisarlo y que si decide seguir adelante, se le cobren 45€. Es que veo que se puede configurar pedido mínimo para descuentos y similar, pero no vi o no se me ocurrió cómo hacer algo similar a lo que comento. ¿Se os ocurre algo a vosotros? Saludos
  8. Hola, Estoy usando la versión de prestashop 1.5.4.1. Tengo el gestor de stocks desactivado, para que los productos se puedan vender siempre, sin un stock definido. El problema es que no sé que cantidad debería de poner en el campo correspondiente del csv para hacer la importación. El csv lo tengo hecho y me importa bien todos los datos, el problema que me encuentro es que al hacer la importación, me activa el gestor de stock (y se supone que todos los días lanzaré un script de importación, por lo que no es práctico estar todo el rato desmarcando la casilla de gestión de stock). Probé a poner un cero en el campo, pero si hago eso me activa el gestor de stock igualmente y por lo tanto me aparece como que el artículo está agotado. Si le pongo una cantidad Alguna pista?
  9. Pues yo ahora mismo estoy muy liado con otras cosas, pero en cuanto tenga que ponerme con eso (porque ya me lo dejó caer el experto en SEO) le echaré un ojo a ver si se puede hacer alguna implementación o algo, para poder llevar a cabo la tarea... Aunque sospecho que va a ser bastante complicada...
  10. Supongo que quizás la solución sería encontrar alguna variable que guarde el nombre del producto al que pertenece la imagen, que pueda utilizar para cuando prestashop hace el renombrado de imágenes. Pero eso sólo sería una parte del "problema" porque si la imagen se llama distinto, todas las referencias a la misma deberían de seguir el mismo patrón. Alguien hizo algo similar alguna vez? o quizás hay alguna forma de tocar sólo un sitio que cambie todas esas referencias... (Si lo hay, yo por ahora no lo he encontrado, XD) Saludos
  11. Hola, Conocéis alguna manera de hacer que las imágenes subidas, una vez procesadas por prestashop, tengan el nombre del producto en su nombre? Por ejemplo, si subo la imagen para el producto: "Libreta cuadriculada A4" en lugar de que se generen imágenes con nombres tipo: 32-medium_default.jpg Que fuera algo así: 32-Libreta_cuadriculada_A4-medium_default.jpg Saludos
  12. Hola Enrique, Pues me parece una buena opción, y es una información que seguro que me viene bien para el futuro, porque lo había visto en su momento pero no me acababa de quedar clara la manera de proceder con los métodos de la clase producto, no sabía que sólo el método add() ya era más que suficiente para hacer la inserción. Muchas gracias!! Al final, busqué un poco más y en estos mismos foros (en francés) encontré la solución para lo que planteaba, así que os pongo aquí el desarrollo (junto con el enlace del post original del que saqué la información). Es una modificación pequeña, haciendo un override de la clase AdminImportController La modificación para lo que yo buscaba basta con aplicarlo a producto, pero también se lo apliqué a las combinaciones tal como hacían en la fuente original. Solución probada en la versión 1.5.4.1 1º Hacer una copia de: controllers/admin/AdminImportController.php en override/controllers/admin/AdminImportController.php 2º En el fichero recién copiado (el de override/controllers/admin), hacemos las siguientes modificaciones: a. Para hacer el override de la clase. Localizamos la linea: class AdminImportControllerCore extends AdminController Y la cambiamos por: class AdminImportController extends AdminControllerCore b. Para que al seleccionar "Declinaciones" (combinaciones) en el desplegable de la importación CSV, nos aparezcan estos campos también como campos "importables". (Para la modificación que yo buscaba basta con aplicarlo a producto, pero al final también se lo apliqué a las combinaciones tal como hacían en la fuente original). Localizamos el código: case $this->entities[$this->l('Combinations')]: $this->required_fields = array( 'id_product', 'group', 'attribute' ); $this->available_fields = array( 'no' => array('label' => $this->l('Ignore this column')), ..... 'weight' => array('label' => $this->l('Impact on weight')), Y justo debajo pegamos el siguiente código: 'height' => array('label' => $this->l('Height')), 'width' => array('label' => $this->l('Width')), 'depth' => array('label' => $this->l('Depth')), Quedando la modificación así: case $this->entities[$this->l('Combinations')]: $this->required_fields = array( 'id_product', 'group', 'attribute' ); $this->available_fields = array( 'no' => array('label' => $this->l('Ignore this column')), ..... 'weight' => array('label' => $this->l('Impact on weight')), 'height' => array('label' => $this->l('Height')), 'width' => array('label' => $this->l('Width')), 'depth' => array('label' => $this->l('Depth')), c. Para que por defecto los nuevos campos de las combinaciones tengan valor 0. Localizamos el código un poco más abajo que el del anterior punto: self::$default_values = array( 'reference' => '', 'supplier_reference' => '', 'ean13' => '', 'upc' => '', 'wholesale_price' => 0, 'price' => 0, 'ecotax' => 0, 'quantity' => 0, 'minimal_quantity' => 1, 'weight' => 0, 'default_on' => 0, ); Y le añadimos, debajo de 'weight', las 3 lineas referentes a las medidas, quedando así: self::$default_values = array( 'reference' => '', 'supplier_reference' => '', 'ean13' => '', 'upc' => '', 'wholesale_price' => 0, 'price' => 0, 'ecotax' => 0, 'quantity' => 0, 'minimal_quantity' => 1, 'weight' => 0, 'height' => 0, 'width' => 0, 'depth' => 0, 'default_on' => 0, ); c) Por último, para añadirselo a la opción de importar Producto, y que en el desplegable de la importación CSV, nos aparezcan estos campos también como campos "importables". Localizamos el código: case $this->entities[$this->l('Products')]: self::$validators['image'] = array( 'AdminImportController', 'split' ); $this->available_fields = array( 'no' => array('label' => $this->l('Ignore this column')), ..... 'weight' => array('label' => $this->l('Weight')), Y justo debajo de weight, pegamos las 3 lineas de los parámetros que queremos añadir: 'height' => array('label' => $this->l('Height')), 'width' => array('label' => $this->l('Width')), 'depth' => array('label' => $this->l('Depth')), Con lo que quedaría así: case $this->entities[$this->l('Products')]: self::$validators['image'] = array( 'AdminImportController', 'split' ); $this->available_fields = array( 'no' => array('label' => $this->l('Ignore this column')), ..... 'weight' => array('label' => $this->l('Weight')), 'height' => array('label' => $this->l('Height')), 'width' => array('label' => $this->l('Width')), 'depth' => array('label' => $this->l('Depth')), Con esos cambios, tenemos ya lista la posibilidad de importar desde CSV las medidas, tanto en productos como en combinaciones. Adjunto el fichero entero ya modificado, que repito, es para la versión 1.5.4.1 El post original en francés, es este: http://www.prestasho...eur-profondeur/ Los campos en el fichero CSV ahora quedarán en este orden: ..... UPC Ecotasa Peso Alto Ancho Profundidad Cantidad Descripción breve ..... Adjunto un csv de ejemplo con todos los campos, probado y que funciona tras la modificación. OJO: Como este foro no permite subir ficheros con extensión .csv lo renombré a .txt Si lo queréis probar, tendréis que renombrarlo a .csv Podría haberlo hecho de manera más sutil quizás, no lo sé, pero no puedo dedicarle más tiempo (por ahora) a este asunto, así que así es como quedará hasta que me pueda parar a analizar si se puede mejorar y hacer un override más específico, y no de toda la clase AdminImportController. Sergio, al final es muy probable que utilice el script que me pasaste, muchas gracias Saludos y gracias a todos por las sugerencias. AdminImportController.php EjemploCSV_conMedidas.txt
  13. Si, yo siempre procuro comprender cómo hace la funcionalidad la propia arquitectura, pero antes trato de buscar mucha información y si alguien lo hizo antes. En este caso encontré gente que tiene la misma "duda" que yo, pero no encontré una implementación que haya hecho alguien, así que me toca ponerme (y espero poder compartirla por aquí, para devolver la ayuda prestada, pero aún tengo pendiente documentar la solución de otro post que escribí hace unas semanas... se me acumula el trabajo,...) Bueno, voy a ponerme con esto a ver si consigo algo. No llevo mucho tiempo con prestashop y me cuesta comprender algunas cosas. Gracias por la ayuda!
  14. He encontrado esto: http://stackoverflow.com/questions/13137480/prestashop-1-5-1-how-can-i-import-a-products-shipping-characteristics Que justo habla de lo que yo digo de importar las medidas de un producto también. No da una solución integrada, pero puede ayudar a hacer la integración metiendo las consultas en el controlador quizás...
  15. Si, estuve echándole un ojo a la base de datos (usando el workbench), gracias por el documento igualmente. Quizás puedo hacer la sincronización en dos pasos... primero rellenar todos los datos posibles con el importador y luego completar con consultas SQL los datos que me falten, pero me gustaría poder hacer todo en un solo paso. Alguna sugerencia? Podría tratar de hacer una copia del controlador AdminImportController y modificarlo para hacer los Inserts que me falten. Si alguien me pudiera pasar alguna sugerencia de cómo llevar a cabo la modificación se lo agradecería mucho.
×
×
  • Create New...