Drupal专业开发指南 第23章 运行附加的安装任务(1)

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-09-04 11:26

Think in Drupal

我们的第一个自定义安装任务为用户显示了一个交互式的表单。现在让我们定义该表单。我们可以使用标准的表单API,但是在这里需要仔细一点,我们把$form['#redirect']设置为FALSE,把表单的动作设为安装器提供的URL。表单的处理由一个提交处理器负责,这和普通的表单一样。下面是表单定义和提交处理器。表单如图23-4所示。

Drupal版本:

Drupal专业开发指南 第23章 运行附加的安装任务

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-09-04 11:25

Think in Drupal

在安装的profile阶段,将运行我们在university_profile_task_list()中指定的任务。在该阶段期间,安装器将重复的调用university_profile_tasks(),并向其传递参数$task和$url,其中$task变量包含了任务名字,而$url则是一个在表单函数中可能用到的URL。安装器初次调用它时,$task将包含字符串profile

Drupal版本:

Drupal专业开发指南 第23章 定义附加的安装任务

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-09-04 11:23

注意图23-1中左边栏中的任务列表(“选择轮廓,”“选择语言,” “验证需求,”等等)。让我们通过在我们的安装轮廓中定义一些任务,来将它们也添加到这个列表中。我们将编写一个函数,它的名字为:我们的轮廓名字+_profile_task_list:

Drupal版本:

Drupal专业开发指南 第23章 指示需要启用哪些模块

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-09-04 11:22

通过添加函数university_profile_modules(),我们告诉Drupal我们的安装轮廓想要启用哪些模块(还有,我们知道这个函数的名称是由我们的轮廓名称加上_profile_modules合成)。这个函数返回一个数组,里面包含了轮廓所要启用的模块名称。对于数组中模块名称出现的顺序,你要小心一点,因为模块之间可能是存在依赖关系的,以需要正确的处理这种可能存在的依赖关系。

Drupal版本:

Drupal专业开发指南 第23章 安装轮廓的工作原理

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-09-04 11:21

Drupal的安装器启动时,它扫描profiles目录以查看有多少个可用的轮廓。如果它发现有多个轮廓时,它将显示所有的轮廓以供用户选择。例如,在创建了我们的university.profile文件,并向其中添加了university_profile_details()函数以后,访问http://example.com/install.php,将会产生一个如图23-1所示的界面。(当然,安装轮廓现在实际上还不能工作---还有很多工作需要去做。)

Drupal版本:

Drupal专业开发指南 第23章 轮廓的存放位置

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-09-04 11:20

你的Drupal站点已经包含了一个安装轮廓。它是Drupal自带的默认安装轮廓,位于profiles/default/default.profile。我们想创建一个新的名为“university”(大学)的轮廓,所以我们首先需要在profiles/university/university.profile创建一个新文件。现在,我们向这个文件中添加一个单独的函数:

Drupal版本:

Drupal专业开发指南 第23章 安装轮廓(profile)

g089h515r806 的头像
Submitted by g089h515r806 on 星期五, 2009-09-04 11:19

当你安装Drupal时,会有一些模块被启用,一些特定的配置被选择,但是这些默认的设置可能并不是你所需要的。Drupal安装器使用了一个默认的安装过程轮廓,用来决定所有的这些配置。通过创建你自己的安装轮廓,你可以定制Drupal的初始安装,从而使你的站点带有你想要的模块和设置。假定你在为某一高校工作,你想创建一个安装过程profile,从而能够启用一个与学校单点登录系统相绑定的定制模块,能够为站点管理员创建一个新角色,能够在安装完成时向你发送e-mail。Drupal的安装器系统,允许你通过创建一个安装轮廓来定制安装时的各种操作。在本章你将学到如何做到这一点。

Drupal版本:

页面

Subscribe to Think in Drupal RSS