Jump to:

2082 Posts in 1002 Topics by 452 members

E-Commerce Modules

SilverStripe Forums » E-Commerce Modules » e-commerce emails

Discuss about the various e-commerce modules available:
Ecommerce, SS Shop, SilverCart and SwipeStripe
Alternatively, have a look the shared mailinglist.

Moderators: martimiz, Nicolaas, Sean, frankmullenger, biapar, Willr, Ingo, Jedateach, swaiba, simon_w

Page: 1
Go to End
Author Topic: 1304 Views
  • Llewe
    Avatar
    Community Member
    1 Post

    e-commerce emails Link to this post

    I'm a newbie so apologies in advance. I have setup the e-commerce module [v0.5.2] and everything seems ok except I am not getting the emails sent out to the customer and shop. I have tried setting this in both the ecommerce config.php and the mysite config.php using

    // Set the email of the admin who looks after receiving the order emails.
    Order::set_email('llewetest@gmail.com');

    I have also set the admin email in mysite config.php using

    Email::setAdminEmail('llewetest@gmail.com')

    and this works, sending me two emails saying that "A message that you sent contained no recipient addresses"

    Why is it not picking up the email addresses? Am I setting this in the wrong place?

  • danqxx
    Avatar
    Community Member
    14 Posts

    Re: e-commerce emails Link to this post

    Hi, this is pretty old now but I had the same problem. It turned out to be a misordering of a parent constructor. Anyway the fix for me went like this:
    ecommerce>order.php line 1195 (roughly)

    class Order_receiptEmail extends Email {

       /*private static $StoreName = "Shop Sale";
       public function setStoreName($name){ $self->StoreName=$name; }
       public function getStoreName(){ return $self->StoreName; }*/
       
       protected $ss_template = 'Order_receiptEmail';
       
       public function __construct($to = null, $from = null, $subject = null) {
          parent::__construct();
          $this->to = $to ? $to : '$Member.Email';
          
          $this->from = $from;
          $this->subject = $subject ? $subject : '$StoreName reference (#$ID)';
                
          if(!isset($this->from, $this->subject)) {
             user_error('From or subject for email have not been defined. You probably haven\'t called Order::set_email() in your _config.php file.', E_USER_ERROR);
          }
          
          
       }
    }


    this is the fixed version. all i did was move the line

    parent::__construct();

    to the beginning of the function.
    Hope this helps ;)

  • Nickt
    Avatar
    Community Member
    43 Posts

    Re: e-commerce emails Link to this post

    thanks so much - this does work!

    1304 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.