drupal中創(chuàng)建hook_user并調(diào)用drupal的mail函數(shù)發(fā)送email實(shí)例
發(fā)布時(shí)間:2014-11-04 08:45:48 作者:佚名
我要評(píng)論

這篇文章主要為大家介紹了drupal中創(chuàng)建hook_user并調(diào)用drupal的mail函數(shù)發(fā)送email實(shí)現(xiàn)方法,涉及hook函數(shù)的用法及mail函數(shù)的調(diào)用方法,需要的朋友可以參考下
本文實(shí)例講述了drupal中創(chuàng)建hook_user并調(diào)用drupal的mail函數(shù)發(fā)送email的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
如果想在drupal的用戶賬號(hào)里添加一些自己的內(nèi)容,就要用到hook_user鉤子函數(shù)。
例如在wedpage.module中添加一個(gè)“創(chuàng)建頁(yè)面的鏈接”和一個(gè)“發(fā)送郵件的form”
復(fù)制代碼
代碼如下:function wedpage_user($type, &$edit, &$user, $category = NULL){
if ($type == 'view') {
$items['wedpage'] = array(
'value' => l(t('Create your wedding homepage.'), 'wedpage/add'),
);
$items_mail['send_mail'] = array(
'value' => drupal_get_form('wedpage_mail_form'),
);
$wedpage = array(
t('Wedding homepage') => $items,
t('Send email to your friends') => $items_mail,
);
return $wedpage;
}
}
if ($type == 'view') {
$items['wedpage'] = array(
'value' => l(t('Create your wedding homepage.'), 'wedpage/add'),
);
$items_mail['send_mail'] = array(
'value' => drupal_get_form('wedpage_mail_form'),
);
$wedpage = array(
t('Wedding homepage') => $items,
t('Send email to your friends') => $items_mail,
);
return $wedpage;
}
}
user的鉤子函數(shù)就設(shè)置成功了!
下面創(chuàng)建mail的發(fā)送函數(shù)
復(fù)制代碼
代碼如下:function wedpage_mail_form(){
$form['wedpage_mail'] = array(
'#type' => 'textfield',
'#size' => 60,
'#prefix' => '<table><tr><td>',
'#suffix' => '</td>',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Send'),
'#prefix' => '<td>',
'#suffix' => '</td></tr></table>',
);
return $form;
}
function wedpage_mail_form_submit($form_id, $form_values){
global $user, $base_url;
if (valid_email_address($form_values['wedpage_mail'])) {
$mailkey = 'wedpage';
$to = $form_values['wedpage_mail'];
$subject = 'wedding web page address';
$url = $base_url.'/ourwedding/'.$user->uid;
$body = $url;
if (drupal_mail($mailkey, $to, $subject, $body)) {
drupal_set_message(t('The mail send successful!'));
}else {
drupal_set_message(t('The mail send failed.'), 'error');
}
}else {
drupal_set_message(t('The e-mail address %mail is not valid.', array('%mail' => $form_values['wpage_mail'])), 'error');
}
}
$form['wedpage_mail'] = array(
'#type' => 'textfield',
'#size' => 60,
'#prefix' => '<table><tr><td>',
'#suffix' => '</td>',
);
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Send'),
'#prefix' => '<td>',
'#suffix' => '</td></tr></table>',
);
return $form;
}
function wedpage_mail_form_submit($form_id, $form_values){
global $user, $base_url;
if (valid_email_address($form_values['wedpage_mail'])) {
$mailkey = 'wedpage';
$to = $form_values['wedpage_mail'];
$subject = 'wedding web page address';
$url = $base_url.'/ourwedding/'.$user->uid;
$body = $url;
if (drupal_mail($mailkey, $to, $subject, $body)) {
drupal_set_message(t('The mail send successful!'));
}else {
drupal_set_message(t('The mail send failed.'), 'error');
}
}else {
drupal_set_message(t('The e-mail address %mail is not valid.', array('%mail' => $form_values['wpage_mail'])), 'error');
}
}
上面的函數(shù)中valid_email_address是一個(gè)系統(tǒng)的驗(yàn)證email的函數(shù),drupal_mail函數(shù)用于測(cè)試郵件是否發(fā)送成功!
希望本文所述對(duì)大家的drupal二次開(kāi)發(fā)有所幫助。
相關(guān)文章
- 真是不看不知道,Drupal 真奇妙。很多使用CMS內(nèi)容管理系統(tǒng)的人可能都會(huì)知道一款國(guó)外的CMS系統(tǒng):Drupal 。在我們傳統(tǒng)的想象中CMS除了能做內(nèi)容文章站外,其他還有圖片站,分2010-01-24
php 內(nèi)容管理系統(tǒng) Drupal v8.9.17
Drupal是一個(gè)開(kāi)源的內(nèi)容管理系統(tǒng)(CMS)平臺(tái),它是用PHP寫(xiě)成的。Drupal有一個(gè)優(yōu)秀的模塊化結(jié)構(gòu),提供了許多模塊2021-08-05- 對(duì)頁(yè)面和靜態(tài)資源的啟用緩存和Gzip壓縮傳輸.2010-01-24
- drupal模塊開(kāi)發(fā)分析,方便想要drupal模塊開(kāi)發(fā)的朋友2012-12-06
drupal 自定義表單調(diào)用autocomplete主標(biāo)簽實(shí)現(xiàn)代碼
drupal 自定義表單調(diào)用autocomplete主標(biāo)簽實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-12-06drupal導(dǎo)入數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要為大家介紹了drupal導(dǎo)入數(shù)據(jù)的實(shí)現(xiàn)方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-03drupal創(chuàng)建拖動(dòng)排序表格的方法
這篇文章主要為大家介紹了drupal創(chuàng)建拖動(dòng)排序表格的方法,包括了具體的步驟與實(shí)現(xiàn)代碼,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-03drupal實(shí)現(xiàn)輸出可點(diǎn)擊表頭排序表格的方法
這篇文章主要為大家介紹了drupal實(shí)現(xiàn)輸出可點(diǎn)擊表頭排序表格的方法,包括了表的定義、SQL語(yǔ)句、表內(nèi)容及生成HTML文件等,需要的朋友可以參考下2014-11-03- 這篇文章主要為大家介紹了drupal文件系統(tǒng),講述了drupal文件系統(tǒng)的分類,重點(diǎn)講述了鉤子函數(shù)的用法,需要的朋友可以參考下2014-11-03
drupal按分類進(jìn)行文章排序的實(shí)現(xiàn)方法
這篇文章主要為大家介紹了drupal按分類進(jìn)行文章排序的實(shí)現(xiàn)方法,較為詳細(xì)的分析了drupal文件組織結(jié)構(gòu)與實(shí)現(xiàn)文章排序的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-03