2017-11-09 3 views
0

OC - 2.2.0을 사용하는 질문이 있습니다. 나는 2 개의 고객 그룹 1과 4를 가지고있다. 구매자 (고객)가 속한 고객 그룹에 따라 다른 관리자 전자 메일 주소로 새 주문 알림 전자 메일을 보낼 수 있는지 궁금한가요? 의미 - 고객이 그룹 1에 속한 경우 [email protected] (관리자 1에 속함)에게 보내고 고객이 그룹 4에 속하면 [email protected] (관리자 2에 속함)에 알림 메일을 보냅니다.고객 그룹에 따라 전자 메일 알림 보내기 - opencart

내가 다음 model/checkout/order.php에 추가하는 시도 :..?

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(); 
         } 
        } 

       } 

그러나 이것은 항상 모두의 이메일 주소로 메일을 보냅니다 나는 내 고객 그룹을 인식하지 못하는 것 같아요 내가 그들을 정의해야합니다 또 어디 나는 두지 않았다 이 예제에서 실제 메일 주소는 분명히 있습니다. 어떤 제안?

답변

0

나는 단지 고객 그룹을 동일한 f 이 같은 ILE (model/checkout/order.php) :

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'); 
     } 

나는이 사람을 도움이되기를 바랍니다. 건배

관련 문제