Drupal建站

不用js,让区块显示“config”及“edit menu”链接

-- Submitted by Admin on Wed, 09/01/2010 - 20:05

这个效果没用js,最后效果只能在非IE6下看到。

在block.tpl里这么写:

用户登录跳转模块

-- Submitted by Admin on Wed, 09/01/2010 - 19:48

org上有个 login_destination 模块可以实现用户登录跳转,不过看了下代码,有点糊涂,试过在hook_user里的login操作里drupal_goto,但是不行,后经经理指导,才知道user_login_form是有action属性指定的,需要unset掉。

那么我就写了这样一个模块,你可以在 admin/settings/login_redirect_settings 里设置登录后要跳转的页面路径。

暂时没加上配置判断用户角色分别跳转不同路径的功能,因为想想要实现也要花不少时间,有空再加吧...不过,代码中有注释掉的一部分代码是实现的,大家可以参考用。

如果有什么考虑不周的情况,请大大们不吝指教。

模块见附件。

我以为比较规范的Drupal主题开发流程

-- Submitted by Admin on Wed, 09/01/2010 - 19:13

一、工作角色:

前端设计者、主题开发者、美工、产品经理、项目经理、功能开发者

注:有些名字是我自己起的... 并且,尽管有这么多角色分工,但是一般情况下,这些角色会有一个人同时兼任多种角色。传说Drupal适合一个人做,所言不虚...

二、Drupal主题开发流程:

1.前端框架(包括哪几个页面需要设计,每个页面都包含哪些版块内容等)。

负责人:前端设计者(如无意外,应该是主题开发者)。

参与角色:前端设计者,美工,产品经理。

分类数据批量导入模块

-- Submitted by Admin on Tue, 07/20/2010 - 22:22

最近的一个项目中,客户给了大量的数据用作分类,一个一个添加肯定要麻烦死,于是想到要批量添加才好,就写了这个模块,果然方便,哈哈!

模块包见附件,希望对大家的开发有所帮助!

使用方法: 访问 admin/import_term 路径就看到了。

这里贴出核心函数:

自定义文件上传表单及验证

-- Submitted by Admin on Sun, 06/13/2010 - 09:54

在我们自定义表单时,文件上传验证是个比较头疼的问题,经过我多次修改推敲,终于把它写成了API,欢迎大家测试并提意见。

首先注意,表单里有文件上传,就需要定义form的一个属性如下,不然一直会提示你文件没上传:

$fields['#attributes'] = array('enctype' => 'multipart/form-data');

下面是调用部分,我以hook_user中的validate为例:

Drupal专业开发指南-Working with nodes-范例模块-joke!

-- Submitted by Admin on Fri, 06/11/2010 - 22:28

没错,这就是Drupal圣经“Drupal专业开发指南”中 "Working with nodes" 一章所介绍的范例模块-joke。

文件见附件。

注意:程序中注释的一部分有关于punchline的验证,因为觉得不需要...所以就注释了。

还有就是 hook_theme 部分,因为觉得不如在 "node-joke.tpl.php" 中写的效果来得好,所以也先注释了,那么就要求大家建一个 "node-joke.tpl.php",并将以下代码加到 <?php print $content; ?> 之后。

数据插入更新记录函数drupal_write_record()

-- Submitted by Admin on Sun, 05/30/2010 - 09:26

有了drupal_write_record()函数,还需要我们自己写SQL语句嘛?这正是为“不习惯”用sql的人群准备的API。

drupal_write_record($table, &$object, $update  = array())

示例:

如何从CCK的select field中取得value list

-- Submitted by Admin on Sat, 05/29/2010 - 21:17

有时候会有这种需求,内容类型是用Drupal系统的内容类型机制创建的,但是由于创建表单的样式定制性太强,默认的创建表单结构不好调整,所以要自定义一个创建表单。

这时候如果有select field,我们要取出里面的value list使用,而不要再次重写一遍。

我将这个方法写成了API,函数代码如下:

数据查询自动完成属性 #autocomplete_path

-- Submitted by Admin on Thu, 05/13/2010 - 21:00

查询数据自动完成(比如 free tags)或搜索内容自动完成(比如drupal api的自动搜索),这样的效果省时又省力!所以让我们来学会它并在项目中多用吧!

一、表单中定义 #autocomplete_path 属性

$form['user_select'] = array(
  '#type' => 'textfield',
  '#autocomplete_path' => 'user/autocomplete',
);

二、定义一个#autocomplete_path

使用#ahah制作ajax联动菜单效果

-- Submitted by Admin on Thu, 05/13/2010 - 20:00

基本的ahah使用方法,可见上一篇文章 http://www.incollege.cn/content/biao-dan-shi-yong-ahahzeng-qiang-ajaxti-yan

一、表单中定义#ahah属性