2012-04-30 86 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

相關問題