Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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
Php 覆盖用户编辑配置文件表单_Php_Drupal 6_Edit_User Profile - Fatal编程技术网

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']),并且没有从页面中删除该项。谢谢你的回答和帮助。