这个效果没用js,最后效果只能在非IE6下看到。
在block.tpl里这么写:
org上有个 login_destination 模块可以实现用户登录跳转,不过看了下代码,有点糊涂,试过在hook_user里的login操作里drupal_goto,但是不行,后经经理指导,才知道user_login_form是有action属性指定的,需要unset掉。
那么我就写了这样一个模块,你可以在 admin/settings/login_redirect_settings 里设置登录后要跳转的页面路径。
暂时没加上配置判断用户角色分别跳转不同路径的功能,因为想想要实现也要花不少时间,有空再加吧...不过,代码中有注释掉的一部分代码是实现的,大家可以参考用。
如果有什么考虑不周的情况,请大大们不吝指教。
模块见附件。
一、工作角色:
前端设计者、主题开发者、美工、产品经理、项目经理、功能开发者
注:有些名字是我自己起的... 并且,尽管有这么多角色分工,但是一般情况下,这些角色会有一个人同时兼任多种角色。传说Drupal适合一个人做,所言不虚...
二、Drupal主题开发流程:
1.前端框架(包括哪几个页面需要设计,每个页面都包含哪些版块内容等)。
负责人:前端设计者(如无意外,应该是主题开发者)。
参与角色:前端设计者,美工,产品经理。
最近的一个项目中,客户给了大量的数据用作分类,一个一个添加肯定要麻烦死,于是想到要批量添加才好,就写了这个模块,果然方便,哈哈!
模块包见附件,希望对大家的开发有所帮助!
使用方法: 访问 admin/import_term 路径就看到了。
这里贴出核心函数:
在我们自定义表单时,文件上传验证是个比较头疼的问题,经过我多次修改推敲,终于把它写成了API,欢迎大家测试并提意见。
首先注意,表单里有文件上传,就需要定义form的一个属性如下,不然一直会提示你文件没上传:
$fields['#attributes'] = array('enctype' => 'multipart/form-data');
下面是调用部分,我以hook_user中的validate为例:
没错,这就是Drupal圣经“Drupal专业开发指南”中 "Working with nodes" 一章所介绍的范例模块-joke。
文件见附件。
注意:程序中注释的一部分有关于punchline的验证,因为觉得不需要...所以就注释了。
还有就是 hook_theme 部分,因为觉得不如在 "node-joke.tpl.php" 中写的效果来得好,所以也先注释了,那么就要求大家建一个 "node-joke.tpl.php",并将以下代码加到 <?php print $content; ?> 之后。
有了drupal_write_record()函数,还需要我们自己写SQL语句嘛?这正是为“不习惯”用sql的人群准备的API。
drupal_write_record($table, &$object, $update = array())
示例:
有时候会有这种需求,内容类型是用Drupal系统的内容类型机制创建的,但是由于创建表单的样式定制性太强,默认的创建表单结构不好调整,所以要自定义一个创建表单。
这时候如果有select field,我们要取出里面的value list使用,而不要再次重写一遍。
我将这个方法写成了API,函数代码如下:
查询数据自动完成(比如 free tags)或搜索内容自动完成(比如drupal api的自动搜索),这样的效果省时又省力!所以让我们来学会它并在项目中多用吧!
一、表单中定义 #autocomplete_path 属性
$form['user_select'] = array( '#type' => 'textfield', '#autocomplete_path' => 'user/autocomplete',);
二、定义一个#autocomplete_path
基本的ahah使用方法,可见上一篇文章 http://www.incollege.cn/content/biao-dan-shi-yong-ahahzeng-qiang-ajaxti-yan
一、表单中定义#ahah属性