两个发展点和实例的drupal7形式

记得收藏这篇文章,当你的Drupal 7自定义模块,你经常使用的表格形式的跳跃或过载。

主要总结了三个要点:

1以后。提交页面,#提交处理后,你需要重定向跳转到另一页。
在2.url路径存在目标参数时,页面直接跳到URL中所提到的目的地,这是无法控制的。
如何3.form形式实现了多步骤形成的多个步骤,或形式如何获取提交表单后提交表单的值。

一、表单表单重定向(跳转)到另一个页面

的价值为form_state { } 'redirect可以是一个字符串或数组生成一个跳转地址后的值通过URL。

复制代码如下:$ form_state { 'redirect} =阵列(
节点 123,
(阵列
('query= >阵列
foo= > 'bar,
),
片段= > 'baz,
}
页面将跳转到节点/ 123foo =酒吧#巴兹 / /

复制代码如下:$ form_state { 'redirect} = 'node / 123
页面将跳转到节点 123。


如果美元价值form_state { 'redirect}是没有指定,默认跳转到当前page.drupal_goto(current_path)、阵列(查询(drupal_get_query_parameters)= >()API进行)。

表单的目的地(目的地)也可以改变跳转的地址。

在drupal_goto功能,你可以看到,如果在URL路径中有目的地参数,页面会直接去目的地是指链接,所以应该重定向跳转页面是不一样的在一些按钮提交。

所以在#提交函数形式,有些操作可以直接从目的地删除。

复制代码代码如下:如果(isset($ _get { 'destination ' })){
form_state美元{ 'redirect} =阵列('next_step_page_url,阵列('query)=(drupal_get_destination));
撤消($ _get { 'destination});
}
我采取的方式是定义一个URL和继续通过终点,但删除目的地_get.but美元通常是经常用于目的地跳。

三,表单表单实现多步的多步骤、表单表单重载和表单提交的值。

在最后的分析中,这些问题都是一样的,那就是,把表单提交,而不是刷新页面,就执行下面的代码在#提交表格的形式功能:

复制代码如下:如果($ form_state { 'values} { 'op} = T(下一步)){
form_state美元{ 'rebuild} =真;
form_state { } {美元储存的'users} = { } { form_state美元'values'users};
}
价值form_state { } {美元储存的'users}可以得到定义形式。

指的是drupal7相关API函数:

drupal_redirect_form
drupal_goto
drupal_get_destination