Adrian1312 Posted February 17, 2020 Share Posted February 17, 2020 Buenas tardes, lanzo una consulta por si podéis ayudarme. Necesito que, a la hora de comprar un producto, según el producto que sea, se emita el pedido tanto al administrador por defecto de la tienda, como a otro segundo email, que puede variar. No sé si actualmente existe algún plugin para ello, la idea es que dentro de una tienda, haya producto de diferentes proveedores, donde todo lo administra una misma persona, y notifique a cada proveedor cuando se realice un pedido de su producto, pero el pago va todo al administrador. Gracias de antemano! Link to comment Share on other sites More sharing options...
ricardopxl Posted February 17, 2020 Share Posted February 17, 2020 Si, se puede realizar lo que indicas. Lo que sí recomendaría es que no sea mediante un plugin si no que programes un proceso independiente el cual se encargue de enviar correos electrónico a los "Manufacturers" o "Suppliers". Link to comment Share on other sites More sharing options...
Adrian1312 Posted February 17, 2020 Author Share Posted February 17, 2020 Gracias por tu respuesta @ricardopxl ¿Puedes ayudarme con alguna recomendación/ejemplo para seguir indagando?, no se si puedo crear este proceso directamente en Prestashop o necesito de herramientas externas. Gracias! Link to comment Share on other sites More sharing options...
ricardopxl Posted February 19, 2020 Share Posted February 19, 2020 Hola @Adrian1312 Te recomiendo que hagas lo siguiente: Tabla _DB_PREFIX_orders crees un nuevo campo "notify_supplier" type boolean default 0. (Debes agregarlo también a la clase order/Orders.php en el Override. Crees un archivo PHP demo.php en una carpeta "procesos" dentro de public_html/procesos (Sólo elegí este nombre). Ve archivo demo.php que adjunto, te servirá lo suficiente. Aquí tienes la documentación para hacer el envío del e-mail https://devdocs.prestashop.com/1.7/development/mail/ <?php /* @Author: Ricardopxl @URL: https://digitag.cl @Date: 17-02-2020 */ require('../config/config.inc.php'); $listManufacturer = array(); foreach (getOrdersPendingSendMail() as $key => $order) { $order = new Order($order['id_order']); foreach ($order->getOrderDetailList() as $key => $p) { $product = new Product($p['product_id']); $mail = getMailIdManufacturer($product->id_manufacturer); if ($mail!=false && !isset($listManufacturer[$product->id_manufacturer])) { $listManufacturer[$order['id_order']][$product->id_manufacturer] = $mail; // SEND EMAIL // SEND MAIL HERE // END SEND EMAIL $order->notify_supplier = 1; // After send mail, save order with complete process "notify"; $order->save(); } } } /** * Get order pending send email to manufacturer * * @return array orders */ function getOrdersPendingSendMail(){ #$sql = 'SELECT id_order FROM '._DB_PREFIX_.'orders WHERE valid = 1;'; $sql = 'SELECT id_order FROM '._DB_PREFIX_.'orders WHERE notify_supplier = 1;'; return Db::getInstance()->ExecuteS($sql); } /** * Get mail from ID manufacturer (Manual List), you can modify Manufacturer Objet to add new property "email" * * @param int $id - ID Manufacturer * * @return string email */ function getMailIdManufacturer($id){ $m[1] = '[email protected]'; $m[2] = '[email protected]'; $m[3] = '[email protected]'; $m[4] = '[email protected]'; $m[5] = '[email protected]'; $m[6] = '[email protected]'; $m[7] = '[email protected]'; $m[8] = '[email protected]'; $m[9] = '[email protected]'; $m[10] = '[email protected]'; if (isset($m[$id])) { return $m[$id]; }else{ return false; } } demo.php Link to comment Share on other sites More sharing options...
Adrian1312 Posted February 19, 2020 Author Share Posted February 19, 2020 Gracias, voy a probar a ver que tal. Saludos! Link to comment Share on other sites More sharing options...
ricardopxl Posted February 19, 2020 Share Posted February 19, 2020 Exito ! Cualquier cosa estamos para ayudar. 16 minutes ago, Adrian1312 said: Gracias, voy a probar a ver que tal. Saludos! Link to comment Share on other sites More sharing options...
ricardopxl Posted February 20, 2020 Share Posted February 20, 2020 @Adrian1312 como te fue? Saludos! Link to comment Share on other sites More sharing options...
Antuan_2022 Posted March 16, 2022 Share Posted March 16, 2022 Hola buenas tardes, alguien podría por favor, indicar como proceder para hacer esto mismo, poner un email a cada artículo de la tienda y enviar una notificación a esas direcciones de correo cada vez que se venda ese artículo? ¿Y los campos de personalización, rellenados por el cliente durante la compra, se pueden añadir también a ese email? Gracias. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now