5.6系eCommerceのdownloadableのメール送信について
5.6系eCommerceアドオンにDownloadable File Purchaseを追加しています。
このダウンロード販売を行った際にメールを送信しますが。
/mail/downloads_available.php
で文面を書き換えます。
このメールは
/models/downloadable_product.php
で
public static function onPurchaseComplete($order, $userInfo) {
$downloads = self::getDownloadableProductsFromOrder($order);
if(count($downloads)) { // send mail
$mh = Loader::helper('mail');
$pkg = Package::getByHandle('core_commerce');
$fromE = $pkg->config('EMAIL_NOTIFICATION_EMAIL');
if ($fromE != '') $mh->from($fromE, $pkg->config('EMAIL_NOTIFICATION_NAME'));
$mh->addParameter('orderID', $order->getInvoiceNumber());
$mh->to($order->getOrderEmail());
$mh->load('downloads_available','core_commerce_downloadable_file');
@$mh->sendMail();
}
}
のところだと思うんですが、パラメーターを追加しています。
これにさらに$orderから値をもってきたいと思い。
$mh->addParameter('billing_last_name', $order->getAttribute('billing_last_name'));
$mh->addParameter('billing_first_name', $order->getAttribute('billing_first_name'));
を追加したのですが、メール分でNULLになってしまいます。
$order->getAttribute('billing_last_name')
が取れてないのか思い、ここを
$mh->addParameter('billing_last_name','FIRST NAME');
のようにスタティクにしても反映されません。
何か手続きが足りないのでしょうか?
Re: 5.6系eCommerceのdownloadableのメール送信について
/package/の中をいじらないようには一応気をつけています。
ためしにエラーを書くと
/models/downloadable_product.php
でエラーが出るので、読んでるみたいなんですが
どうも
$mh->addParameter('orderID', $order->getInvoiceNumber());
を違う値にしてもダメなんで、メール呼び出してるのがここじゃないようです。
でも、他に見当たらないんですよね...うーん
contollerの最初に
Events::extend('core_commerce_on_checkout_finish_order',
'DownloadableProduct',
'onPurchaseComplete',
'packages/'.$this->pkgHandle.'/models/downloadable_product.php',
array($order,$ui));
Events::extend('core_commerce_on_checkout_start',
'DownloadableProduct',
'checkoutSetup',
'packages/'.$this->pkgHandle.'/models/downloadable_product.php',
array($checkoutController));
と書いてあるので、ここくらいしか見当たらんのですが..どこだろう..
Re: 5.6系eCommerceのdownloadableのメール送信について
Re: 5.6系eCommerceのdownloadableのメール送信について
このmailのテンプレートをcontrollerからmodelを呼び出して、それからmailのひな形で送ってると思うんですが、↑のところを変えてもうんともすんともで
Re: 5.6系eCommerceのdownloadableのメール送信について
私の勘違いで、菱川さんが指摘していただいたものの逆で
/modelsに入れたファイルで上書きできていなかったようです。
名前も入れる場所もあってるんですが
core_commerce_downloadable_file
のcontroller.phpで呼んでるところを見ると
public function on_start() {
// register on_order_complete function
Events::extend('core_commerce_on_checkout_finish_order',
'DownloadableProduct',
'onPurchaseComplete',
'packages/'.$this->pkgHandle.'/models/downloadable_product.php',
array($order,$ui));
Events::extend('core_commerce_on_checkout_start',
'DownloadableProduct',
'checkoutSetup',
'packages/'.$this->pkgHandle.'/models/downloadable_product.php',
array($checkoutController));
}
なので、ひょっとしたらoverrideしてくれないんじゃと思い
元のmodelsを変えると反映しました。
そういう事かなと思うんですが。
takuro hishikawa
Re: 5.6系eCommerceのdownloadableのメール送信について