你现在的位置:首页 > PHP网站建设知识库 > Drupal > 正文

Drupal Add 操作

当 URL 路径指示 Drupal 添加一个节点时,节点构建序列与 View 操作有显著差异。首先,Drupal 检查 URL 路径中是否存在节点类型。如果存在,还要检查发出这一请求的用户是否有权创建新节点。如果这些条件都得到满足,Drupal 就开始组装添加这种类型的节点所需的表单。如果路径中不存在节点类型,就显示一个列出可用节点类型的页面。

与 View 操作一样,Drupal 创建一个节点对象,其中存储用来显示表单的任何数据。为了准备这个节点对象的数据,Drupal 调用 <node_type>_prepare() 挂钩(如果它存在的话)。这为相关联的模块提供了对需要包含进节点对象中的任何数据进行预处理的机会。

为了让任何其他模块都能够扩展或修改节点对象,要用一个参数调用所有 nodeapi 挂钩,这个参数指示 Drupal 准备显示 add 表单。

现在,Drupal 构造出一个数据结构,这个结构描述与节点对象数据相应的表单组件。在显示表单之前,调用任何模块中的 <module_name>_form_alter() 挂钩,从而允许对表单数据结构进行修改。

例如,taxonomy 模块可以使用它的 form_alter 挂钩在表单中插入一个字段,为这种节点类型选择分类项。

最后,使用表单数据结构将产生的节点显示在表单上。