2013年10月24日木曜日

EC-CUBEトラブル、カスタマイズ

テスト環境で、管理者宛にBCCが届かない場合

受信がgmailの場合、重複するメールが取り除かれるため、BCCが受信されません。

購入者やお問い合わせのメール送信先を、gmailで取得しない別メールにするとか、
絶対存在しないメールアドレスに送ってみれば、BCCが設定した管理者宛に届くようになります。

管理者宛のメールの文面を変えたい

場所
data/class/helper/SC_Helper_Mail.php

お問い合わせ
sfSendTemplateMail()関数

BCC部分を消し、管理者にはsendMailで文面を変えてメール送信。
デメリットは2回sendMailすること。

//$objSendMail->setItem('', $tosubject, $body, $from_address, $from_name, $reply_to, $error, $error, $bcc);
        $objSendMail->setItem('', $tosubject, $body, $from_address, $from_name, $reply_to, $error, $error);
        $objSendMail->setTo($to, $to_name);
        $objSendMail->sendMail(); // メール送信

        if ($objSendMail->sendMail()) {
            $objSendMail->setItem("", $tosubject, "【お客様へのメールのコピーです】\r\n\r\n" . $body, $from_address, $from_name, $reply_to, $error, $error);
            $objSendMail->setTo($bcc);
            $objSendMail->sendMail();
        }


オーダー
sfSendOrderMail()関数

上記と同じように、BCCを取り除き、sendMail()を追加する。

//$objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error, $bcc);
        $objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error);
        $objSendMail->setTo($arrOrder['order_email'], $arrOrder['order_name01'] . ' ' . $arrOrder['order_name02'] . ' 様');

        // 送信フラグ:trueの場合は、送信する。
        if ($send) {
            if ($objSendMail->sendMail()) {

                $this->sfSaveMailHistory($order_id, $template_id, $tosubject, $body);
                //                $objSendMail->setItem('', $tosubject, $body, $from, $arrInfo['shop_name'], $from, $error, $error, $bcc);
                $objSendMail->setItem("", $tosubject, "【お客様へのメールのコピーです】\r\n\r\n" . $body, $from, $arrInfo['shop_name'], $from, $error, $error);
                $objSendMail->setTo($bcc);
                $objSendMail->sendMail();
            }
        }

カテゴリーツリーを常に表示させたい

/data/Smarty/templates/default/frontparts/bloc/category_tree_fork.tpl

disp_child value=0を1に変える

0 件のコメント:

コメントを投稿