2012-04-30 76 views
0

我查看过无处不在,无法找到我的问题的答案。我想要在注册时取消激活用户帐户,然后在BackOffice中激活它。我成功地做到这一点,但我想,当他的账户被激活,所以我增加了一个按钮旁边的激活/ unactivate单选按钮用户发送一封电子邮件,我加入AdminCustomers.phpPrestashop:从BackOffice帐户激活后无法向用户发送电子邮件

<input type="submit" value="'.$this->l(' Send Email to inform user ').'"/> 

下,但我不知道如何发送电子邮件。我的问题对你来说可能看起来很简单,但我对php/html是新手,所以对我来说有点困难。我已经搜索并找到许多例子来发送电子邮件,但他们似乎都没有工作。

编辑: 我这样做的原因是我们有两种类型的客户:个人和公司。对于公司,我们需要验证提供的信息(例如:增值税号码)。然后激活该帐户,因为它可以让他们访问特殊价格。

回答

0

我结束了创建一个为此模块。它与Prestashop 1.5完美配合。

0

你在哪里激活帐户?您应该添加代码以在帐户激活后发送电子邮件 - 添加额外步骤似乎没有意义(管理员可能会忘记采取措施)。

中的模块我会使用类似以下内容:

private function _emailNewAccount($customer, $address, $messages) 
    { 
    $configuration = Configuration::getMultiple(array('PS_LANG_DEFAULT', 'PS_SHOP_EMAIL', 'PS_SHOP_NAME')); 
    $id_lang = (int)$configuration['PS_LANG_DEFAULT']; 
    $template = 'new_account'; 
$subject = $this->l('New Account', $id_lang); 
    $templateVars = array(
     '{firstname}' => $customer->firstname, 
     '{lastname}' => $customer->lastname, 
     '{address1}' => $address->address1, 
     '{address2}' => !empty($address->address2) ? $address->address2 : $this->l('--',  $id_lang), 
     '{city}' => $address->city, 
     '{postcode}' => $address->postcode, 
     '{email}' => $customer->email, 
     '{messages}' => is_array($messages) ? implode("\n", $messages) : (isset($messages) ? $messages : ''), 
     '{phone}' => !empty($address->phone) ? $address->phone : $this->l('n/a', $id_lang), 
     '{mobile}' => !empty($address->phone_mobile) ? $address->phone_mobile : $this->l('n/a', $id_lang), 
     '{customer_id}' => (int)$customer->id 
    ); 
    $iso = Language::getIsoById((int)($id_lang)); 
    if (file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template.'.txt') AND file_exists(dirname(__FILE__).'/mails/'.$iso.'/'.$template.'.html')) 
     Mail::Send($id_lang, $template, $subject, $templateVars, $customer->email,$customer->firstname.' '.$customer->lastname, $configuration['PS_SHOP_EMAIL'], $configuration['PS_SHOP_NAME'], NULL, NULL, dirname(__FILE__).'/mails/'); 
} 

很明显,你还需要创建相应的文本和HTML电子邮件模板。这将是我的模块dorectory在这种情况下: /modules/mymodulename/mails/en/new_account.html /modules/mymodulename/mails/en/new_account.txt

你使用模板内上面定义的字段,因此对于纯文本的模板,你可能在new_account.txt

Hi {firstname} {lastname}, 

You have just registered on {shop_name}. 

Address: 

{address1} 
{address2} 
{city}, {postcode} 
Telephone: {phone}, Mobile: {mobile} 

{messages} 

,如果你在你的问题你有什么到目前为止已经试过包括这会是个不错....

+0

感谢您的回答:)。其实我这样做的原因是我们有两种类型的客户:个人和公司。对于公司,我们需要验证提供的信息(例如:增值税号码)。然后激活帐户,因为它使他们能够访问特殊价格。 – Anila

相关问题