Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drupal:$form[';#redirect';]=FALSE;不';行不通_Drupal_Drupal 6 - Fatal编程技术网

Drupal:$form[';#redirect';]=FALSE;不';行不通

Drupal:$form[';#redirect';]=FALSE;不';行不通,drupal,drupal-6,Drupal,Drupal 6,我试图在提交编辑节点表单时更改重定向,方法是在主题中的template.php文件中添加以下行 $form['#redirect'] = FALSE; 我确信template.php文件运行良好,因为我还有其他行需要更改,例如,某些元素的权重。但是重定向不起作用 我还尝试了$form['#redirect']='anotherPage';没有成功 我做错了什么?我正在关注Drupal API,关于表单: 谢谢您应该创建一个模块,并在表单显示之前使用它来更改表单。通常,您不应该在主题层中操纵数

我试图在提交编辑节点表单时更改重定向,方法是在主题中的template.php文件中添加以下行

$form['#redirect'] = FALSE;
我确信template.php文件运行良好,因为我还有其他行需要更改,例如,某些元素的权重。但是重定向不起作用

我还尝试了$form['#redirect']='anotherPage';没有成功

我做错了什么?我正在关注Drupal API,关于表单:


谢谢

您应该创建一个模块,并在表单显示之前使用它来更改表单。通常,您不应该在主题层中操纵数据和行为


您可以使用.tpl文件中的,来避免这种情况,但我不知道这会产生什么其他后果

您应该创建一个模块,并在表单显示之前使用它来更改表单。通常,您不应该在主题层中操纵数据和行为

您可以使用.tpl文件中的,来避免这种情况,但我不知道这会产生什么其他后果

IIRC,
$form['#redirect']
条目只有在表单处理过程中未设置其他重定向时才有效。如果您愿意,您可以看到它通过
$form_state['redirect']='node/'设置自己的重定向$节点->nid,从而覆盖前面在表单定义中定义的重定向

您可以通过转到
$form['#submit']
数组(需要放在默认数组之后)来解决此问题。在该回调中,您可以将
$form\u state['redirect']
更改为所需的路径

注意:如果
$form['#submit']
数组在
hook\u form\u alter()
期间尚未包含默认条目,则可能需要通过在该回调中添加另一个间接寻址-在呈现表单数组之前,您有最后一次机会操作表单数组。(好的,几乎是最终的-稍后还有;)

IIRC,只有在表单处理的后期没有设置其他重定向时,
$form['#redirect']
条目才会有效。如果您愿意,您可以看到它通过
$form_state['redirect']='node/'设置自己的重定向$节点->nid,从而覆盖前面在表单定义中定义的重定向

您可以通过转到
$form['#submit']
数组(需要放在默认数组之后)来解决此问题。在该回调中,您可以将
$form\u state['redirect']
更改为所需的路径


注意:如果
$form['#submit']
数组在
hook\u form\u alter()
期间尚未包含默认条目,则可能需要通过在该回调中添加另一个间接寻址-在呈现表单数组之前,您有最后一次机会操作表单数组。(好的,几乎是最后的-稍后还有;)

您想保留在节点编辑表单上吗?您想保留在节点编辑表单上吗?确定1)我应该在哪里实现hook\u form\u alter()函数?2) 它的名称节点\u form\u alter()应该是什么?(是否应该将其包含在后端主题文件夹中?)模块不是主题,具有不同的命名约定。您将需要了解一些模块开发方法tos.ok 1)我应该在哪里实现hook\u form\u alter()函数?2) 它的名称节点\u form\u alter()应该是什么?(是否应该将其包含在后端主题文件夹中?)模块不是主题,具有不同的命名约定。你需要了解一些模块开发的方法。比我的答案更清楚。关于$form['#after#build']的好提示,避免了在模块权重方面的混乱。@Jermey French:是的,$form['#after#build']非常方便。但是,如果有两种表单使用它,您仍然会在模块权重上乱作一团:/(除非您更高一级并开始使用“#pre_render”-我花了两个小时研究CCK如何完全忽略/覆盖我的节点字段顺序调整;)您不仅回答了这个问题,而且提供了一个真正完整的答案。干得好,何。:)比我的答案清楚得多。关于$form['#after#build']的好提示,避免了在模块权重方面的混乱。@Jermey French:是的,$form['#after#build']非常方便。但是,如果有两种表单使用它,您仍然会在模块权重上乱作一团:/(除非您更高一级并开始使用“#pre_render”-我花了两个小时研究CCK如何完全忽略/覆盖我的节点字段顺序调整;)您不仅回答了这个问题,而且提供了一个真正完整的答案。干得好,何。:)