سؤال

أنا استخدم theme_user_profile_form($form) ووضع الخط

unset ($form['timezone']);

لكنه لا يزيل هذا العنصر من الصفحة

أنا أحاول:

theme_preprocess_user_profile_form

لكنه لا يبدو أنه يعمل.

كل ما أريد القيام به هو إزالة بعض أجزاء نموذج تحرير ملف تعريف المستخدم ، مثل Seque Select و TimeZone وما إلى ذلك

هل كانت مفيدة؟

المحلول

أسهل طريقة للقيام بذلك ، هي الاستخدام hook_form_alter. يجب أن يكون هذا في وحدة مخصصة وليس في موضوعك.

نصائح أخرى

أفضل شيء هو أنه يتعين عليك القيام بهذا الخطاف المتغير ، ولكن قم بإلغاء ضبطه في بناء النموذج أي

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;
}
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top