Drupal:$form[';#redirect';]=FALSE;不';行不通
我试图在提交编辑节点表单时更改重定向,方法是在主题中的template.php文件中添加以下行Drupal:$form[';#redirect';]=FALSE;不';行不通,drupal,drupal-6,Drupal,Drupal 6,我试图在提交编辑节点表单时更改重定向,方法是在主题中的template.php文件中添加以下行 $form['#redirect'] = FALSE; 我确信template.php文件运行良好,因为我还有其他行需要更改,例如,某些元素的权重。但是重定向不起作用 我还尝试了$form['#redirect']='anotherPage';没有成功 我做错了什么?我正在关注Drupal API,关于表单: 谢谢您应该创建一个模块,并在表单显示之前使用它来更改表单。通常,您不应该在主题层中操纵数
$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如何完全忽略/覆盖我的节点字段顺序调整;)您不仅回答了这个问题,而且提供了一个真正完整的答案。干得好,何。:)