如果想在drupal的用户账号里添加一些自己的内容,就要用到hook_user钩子函数。
例如在wedpage.module中添加一个“创建页面的链接”和一个“发送邮件的form”
/**
* Implementation of hook_user.
*
* @return array
*/
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;
}
}
user的钩子函数就设置成功了!
下面创建mail的发送函数
/**
* Build form for sending e-mail.
*
* @return array
*/
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');
}
}
上面的函数中valid_email_address是一个系统的验证email的函数,drupal_mail函数用于测试邮件是否发送成功!
分享到:
相关推荐
主要为大家介绍了drupal中创建hook_user并调用drupal的mail函数发送email实现方法,涉及hook函数的用法及mail函数的调用方法,需要的朋友可以参考下
主要为大家介绍了drupal常用到的几种过滤函数,总结了常见过滤函数的具体用法,非常实用,具有一定的参考借鉴价值,需要的朋友可以参考下
drupal-scaffold, 使用 Drupal/core更新 Drupal scaffold文件的Composer插件 ...) 插件,用于自动下载Drupal脚本文件,通过编写器使用 drupal/core 。建议在 root root的项目的标准位置放置供应商目录;但是,供应商目
drupal安装使用笔记,含drupal安装和所见即所得编辑器fckeditor在drupal里的安装
包含:Drupal7宝典; Drupal开发指南; Using Drupal(强烈推荐) 值得你下载!
Drupal dataDrupal data
drupal6邮箱配置和简洁链接设置
drupal-email_verify
"Enterprise Drupal 8 Development: For Advanced Projects and Large Development Teams" English | ISBN: 1484202546 | 2017 | 309 pages | PDF | 9 MB Successfully architect a Drupal 8 website that scales ...
Drupal是一个开源的内容管理系统(CMS)平台,它是用PHP写成的。Drupal有一个优秀的模块化结构,提供了许多模块,包括短消息、个性化书签、网站管理、Blog、日记、电子商务、电子出版、留言簿、Job、网上电影院、论坛...
Drupal宝典 用drupal建站必备
drupal6的安装,drupal6的安装drupal6的安装drupal6的安装
drupal7 vs drupal6 详细的列出了从drupal6升级到drupal7所做的一些改动。 从代码,配置,UI,API等全方面的诠释drupal7与drupal6 的不同之处。
Drupal是使用PHP语言编写的开源内容...228个国家使用181种语言的729,791位网站设计工作者使用Drupal。著名案例包括:联合国、美国白宫、美国商务部、纽约时报、华纳、迪斯尼、联邦快递、索尼、美国哈佛大学、Ubuntu等。
主要为大家介绍了Drupal7之drupal_static函数用法,需要的朋友可以参考下
PHP 编程 Drupal Patch
Decoupled Drupal in Practice: Architect and Implement Decoupled Drupal Architectures Across the Stack By 作者: Preston So ISBN-10 书号: 1484240715 ISBN-13 书号: 9781484240717 Edition 版本: 1st ed. ...
主要为大家介绍了drupal常用判断函数,实例汇总了判断首页、判断用户角色、判断权限等常用函数,具有一定的参考借鉴价值,需要的朋友可以参考下
Drupal专业开发指南,这是drupal5版的。可能现在还有人用。
零起点学习Drupal教程零起点学习Drupal教程零起点学习Drupal教程