Jump to content

[Solucionado] Alerta por correo menos para pedidos manuales


Recommended Posts

Buena pregunta,

 

Lo unico que se es que en el php del modulo (mailalerts.php), lo que envia la alerta es esta funcion:

 

public function hookActionValidateOrder($params)
{
 if (!$this->_merchant_order || empty($this->_merchant_mails))
  return;
 // Getting differents vars
 $id_lang = (int)Context::getContext()->language->id;
 $currency = $params['currency'];
 $configuration = Configuration::getMultiple(array('PS_SHOP_EMAIL', 'PS_MAIL_METHOD', 'PS_MAIL_SERVER', 'PS_MAIL_USER', 'PS_MAIL_PASSWD', 'PS_SHOP_NAME'));
 $order = $params['order'];
 $customer = $params['customer'];
 $delivery = new Address((int)$order->id_address_delivery);
 $invoice = new Address((int)$order->id_address_invoice);
 $order_date_text = Tools::displayDate($order->date_add, (int)$id_lang);
 $carrier = new Carrier((int)$order->id_carrier);
 $message = $order->getFirstMessage();
 if (!$message || empty($message))
  $message = $this->l('No message');
 $items_table = '';
 $products = $params['order']->getProducts();
 $customized_datas = Product::getAllCustomizedDatas((int)$params['cart']->id);
 Product::addCustomizationPrice($products, $customized_datas);
 foreach ($products as $key => $product)
 {
  $unit_price = $product['product_price_wt'];
  $customization_text = '';
  if (isset($customized_datas[$product['product_id']][$product['product_attribute_id']]))
  {
foreach ($customized_datas[$product['product_id']][$product['product_attribute_id']] as $customization)
{
 if (isset($customization['datas'][_CUSTOMIZE_TEXTFIELD_]))
  foreach ($customization['datas'][_CUSTOMIZE_TEXTFIELD_] as $text)
   $customization_text .= $text['name'].': '.$text['value'].'<br />';
 if (isset($customization['datas'][_CUSTOMIZE_FILE_]))
  $customization_text .= count($customization['datas'][_CUSTOMIZE_FILE_]).' '.$this->l('image(s)').'<br />';
 $customization_text .= '---<br />';
}
$customization_text = rtrim($customization_text, '---<br />');
  }
  $items_table .=
'<tr style="background-color:'.($key % 2 ? '#DDE2E6' : '#EBECEE').';">
 <td style="padding:0.6em 0.4em;">'.$product['product_reference'].'</td>
 <td style="padding:0.6em 0.4em;">
  <strong>'
   .$product['product_name'].(isset($product['attributes_small']) ? ' '.$product['attributes_small'] : '').(!empty($customization_text) ? '<br />'.$customization_text : '').
  '</strong>
 </td>
 <td style="padding:0.6em 0.4em; text-align:right;">'.Tools::displayPrice($unit_price, $currency, false).'</td>
 <td style="padding:0.6em 0.4em; text-align:center;">'.(int)$product['product_quantity'].'</td>
 <td style="padding:0.6em 0.4em; text-align:right;">'.Tools::displayPrice(($unit_price * $product['product_quantity']), $currency, false).'</td>
</tr>';
 }
 foreach ($params['order']->getCartRules() as $discount)
 {
  $items_table .=
  '<tr style="background-color:#EBECEE;">
 <td colspan="4" style="padding:0.6em 0.4em; text-align:right;">'.$this->l('Voucher code:').' '.$discount['name'].'</td>
 <td style="padding:0.6em 0.4em; text-align:right;">-'.Tools::displayPrice($discount['value'], $currency, false).'</td>
  </tr>';
 }
 if ($delivery->id_state)
  $delivery_state = new State((int)$delivery->id_state);
 if ($invoice->id_state)
  $invoice_state = new State((int)$invoice->id_state);
 // Filling-in vars for email
 $template = 'new_order';
 $template_vars = array(
  '{firstname}' => $customer->firstname,
  '{lastname}' => $customer->lastname,
  '{email}' => $customer->email,
  '{delivery_block_txt}' => MailAlert::getFormatedAddress($delivery, "\n"),
  '{invoice_block_txt}' => MailAlert::getFormatedAddress($invoice, "\n"),
  '{delivery_block_html}' => MailAlert::getFormatedAddress($delivery, '<br />', array(
  'firstname' => '<span style="color:'.Configuration::get('PS_MAIL_COLOR').'; font-weight:bold;">%s</span>',
  'lastname' => '<span style="color:'.Configuration::get('PS_MAIL_COLOR').'; font-weight:bold;">%s</span>')),
  '{invoice_block_html}' => MailAlert::getFormatedAddress($invoice, '<br />', array(
  'firstname' => '<span style="color:'.Configuration::get('PS_MAIL_COLOR').' font-weight:bold;">%s</span>',
  'lastname' => '<span style="color:'.Configuration::get('PS_MAIL_COLOR').'; font-weight:bold;">%s</span>')),
  '{delivery_company}' => $delivery->company,
  '{delivery_firstname}' => $delivery->firstname,
  '{delivery_lastname}' => $delivery->lastname,
  '{delivery_address1}' => $delivery->address1,
  '{delivery_address2}' => $delivery->address2,
  '{delivery_city}' => $delivery->city,
  '{delivery_postal_code}' => $delivery->postcode,
  '{delivery_country}' => $delivery->country,
  '{delivery_state}' => $delivery->id_state ? $delivery_state->name : '',
  '{delivery_phone}' => $delivery->phone ? $delivery->phone : $delivery->phone_mobile,
  '{delivery_other}' => $delivery->other,
  '{invoice_company}' => $invoice->company,
  '{invoice_firstname}' => $invoice->firstname,
  '{invoice_lastname}' => $invoice->lastname,
  '{invoice_address2}' => $invoice->address2,
  '{invoice_address1}' => $invoice->address1,
  '{invoice_city}' => $invoice->city,
  '{invoice_postal_code}' => $invoice->postcode,
  '{invoice_country}' => $invoice->country,
  '{invoice_state}' => $invoice->id_state ? $invoice_state->name : '',
  '{invoice_phone}' => $invoice->phone ? $invoice->phone : $invoice->phone_mobile,
  '{invoice_other}' => $invoice->other,
  '{order_name}' => sprintf('%06d', $order->id),
  '{shop_name}' => Configuration::get('PS_SHOP_NAME'),
  '{date}' => $order_date_text,
  '{carrier}' => (($carrier->name == '0') ? Configuration::get('PS_SHOP_NAME') : $carrier->name),
  '{payment}' => Tools::substr($order->payment, 0, 32),
  '{items}' => $items_table,
  '{total_paid}' => Tools::displayPrice($order->total_paid, $currency),
  '{total_products}' => Tools::displayPrice($order->getTotalProductsWithTaxes(), $currency),
  '{total_discounts}' => Tools::displayPrice($order->total_discounts, $currency),
  '{total_shipping}' => Tools::displayPrice($order->total_shipping, $currency),
  '{total_wrapping}' => Tools::displayPrice($order->total_wrapping, $currency),
  '{currency}' => $currency->sign,
  '{message}' => $message
 );
 $iso = Language::getIsoById($id_lang);
 if (file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template.'.txt') &&
  file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template.'.html'))
  Mail::Send(
$id_lang,
$template,
sprintf(Mail::l('New order - #%06d', $id_lang), $order->id),
$template_vars,
explode(self::__MA_MAIL_DELIMITOR__, $this->_merchant_mails),
null,
$configuration['PS_SHOP_EMAIL'],
$configuration['PS_SHOP_NAME'],
null,
null,
dirname(__FILE__).'/mails/'
  );
}

Edited by Rubalcaba (see edit history)
Link to comment
Share on other sites

Buenas noches.

 

¿Es posible configurar el módulo de "Alertas por Correo" para que no realice envío de correos a clientes al realizar un pedido manual desde la administración?

 

Muchas gracias.

 

Ah.

 

Espero el modulo Alertas por Correos es para que le llegue la notificacion al comerciante, no al cliente.

 

Para el cliente, es cuestion de ver los estados, en la pestaña Pedidos -> Estados. (Si te fijas en los estados, puedes definir en los estados cuando se envia un email al cliente y cuando no) (A lo mejor te conviene crearte nuevos estados para los pedidos que hagas desde el panel de administracion)

Edited by Rubalcaba (see edit history)
Link to comment
Share on other sites

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