Php 覆盖用户编辑配置文件表单
我正在使用Php 覆盖用户编辑配置文件表单,php,drupal-6,edit,user-profile,Php,Drupal 6,Edit,User Profile,我正在使用主题\用户\个人资料\表单($form)并将 unset ($form['timezone']); 但它不会从页面中删除该项 我尝试: theme_preprocess_user_profile_form 但它似乎不起作用 我只想删除用户配置文件编辑表单的某些部分,如主题选择、时区等最简单的方法是使用hook\u form\u alter。这需要在自定义模块中,而不是在您的主题中。最好的办法是,您必须执行hook form alter,但在表单的后构建中执行unset,即 func
主题\用户\个人资料\表单($form)
并将
unset ($form['timezone']);
但它不会从页面中删除该项
我尝试:
theme_preprocess_user_profile_form
但它似乎不起作用
我只想删除用户配置文件编辑表单的某些部分,如主题选择、时区等最简单的方法是使用
hook\u form\u alter
。这需要在自定义模块中,而不是在您的主题中。最好的办法是,您必须执行hook form alter,但在表单的后构建中执行unset,即
function example_form_alter(&$form, &$form_state, $form_id) {
$form["#after_build"][] = "example";
}
function example($form, &$form_state) {`
//dpm($form); /*devel module dependency for looking for the correct object*/
//unset
return $form;
}
我尝试取消设置($form['timezone']);在hook\u form\u中,更改并不会从drupal7中的页面中删除该项。我的错误是什么?@cabita也许你没有使用
&
通过引用传递表单这是我在drupal 7中的代码:函数mymodule_form_alter(&$form,&$form_state,$form_id){if($form_id='user_profile_form'){unset($form['account']['timezone']),并且没有从页面中删除该项。谢谢你的回答和帮助。