2017-11-09 2 views
0

Ich habe eine Frage - Ich verwende OC 2.2.0. Ich habe zwei Kundengruppen 1 und 4. Ich habe mich gefragt, ob es möglich ist, neue Bestellbenachrichtigungen an verschiedene Admin-E-Mail-Adressen zu senden, abhängig von der Kundengruppe, zu der ein Käufer (Kunde) gehört? Bedeutung- Wenn der Kunde der Gruppe 1 angehört, senden Sie ihn an [email protected] (das zu admin 1 gehört) und wenn der Kunde der Gruppe 4 angehört, senden Sie eine Benachrichtigungs-Mail an [email protected] (die zu admin 2 gehört.Senden von E-Mail-Benachrichtigungen je nach Kundengruppe - opencart

ich Zugabe versuchte model/checkout/order.php folgendes:..?

if($customer_group_id != 1) { 
        $mail = new Mail(); 
        $mail->protocol = $this->config->get('config_mail_protocol'); 
        $mail->parameter = $this->config->get('config_mail_parameter'); 
        $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname'); 
        $mail->smtp_username = $this->config->get('config_mail_smtp_username'); 
        $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); 
        $mail->smtp_port = $this->config->get('config_mail_smtp_port'); 
        $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); 

        $mail->setTo(array(0 => '[email protected]')); 
        $mail->setFrom($this->config->get('config_email')); 
        $mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8')); 
        $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); 
        $mail->setHtml($this->load->view('mail/order', $data)); 
        $mail->setText($text); 
        $mail->send(); 

        // Send to additional alert emails 
        $emails = explode(',', $this->config->get('config_mail_alert')); 

        foreach ($emails as $email) { 
         if ($email && filter_var($email, FILTER_VALIDATE_EMAIL)) { 
          $mail->setTo($email); 
          $mail->send(); 
         } 
        } 

       } 

if($customer_group_id != 4) { 
        $mail = new Mail(); 
        $mail->protocol = $this->config->get('config_mail_protocol'); 
        $mail->parameter = $this->config->get('config_mail_parameter'); 
        $mail->smtp_hostname = $this->config->get('config_mail_smtp_hostname'); 
        $mail->smtp_username = $this->config->get('config_mail_smtp_username'); 
        $mail->smtp_password = html_entity_decode($this->config->get('config_mail_smtp_password'), ENT_QUOTES, 'UTF-8'); 
        $mail->smtp_port = $this->config->get('config_mail_smtp_port'); 
        $mail->smtp_timeout = $this->config->get('config_mail_smtp_timeout'); 

        $mail->setTo(array(0 => '[email protected]')); 
        $mail->setFrom($this->config->get('config_email')); 
        $mail->setSender(html_entity_decode($order_info['store_name'], ENT_QUOTES, 'UTF-8')); 
        $mail->setSubject(html_entity_decode($subject, ENT_QUOTES, 'UTF-8')); 
        $mail->setHtml($this->load->view('mail/order', $data)); 
        $mail->setText($text); 
        $mail->send(); 

        // Send to additional alert emails 
        $emails = explode(',', $this->config->get('config_mail_alert')); 

        foreach ($emails as $email) { 
         if ($email && filter_var($email, FILTER_VALIDATE_EMAIL)) { 
          $mail->setTo($email); 
          $mail->send(); 
         } 
        } 

       } 

aber sendet immer Mail an beiden E-Mail-Adressen, die ich denke, es ist nicht meine Kundengruppen erkennen Wo sonst sollte ich sie definiere ich nicht gesetzt Echte E-Mail-Adresse in diesem Beispiel natürlich. Irgendwelche Vorschläge?

Antwort

0

Wie ich vermutete, musste ich nur Kundengruppen in der gleichen f definieren ile (model/checkout/order.php) wie folgt aus:

if (isset($this->request->get['customer_group_id']) && is_array($this->config->get('config_customer_group_display')) && in_array($this->request->get['customer_group_id'], $this->config->get('config_customer_group_display'))) { 
      $customer_group_id = $this->request->get['customer_group_id']; 
     } else { 
      $customer_group_id = $this->config->get('config_customer_group_id'); 
     } 

Ich hoffe, das jemand hilft. Prost

Verwandte Themen