আমি ইতিমধ্যে উল্লিখিত থ্রেডে একটি সহজ সম্ভাব্য সমাধান লিখেছি: https://drupal.org/node/1048644#comment-7822687 । সুবিধার জন্য, আমি এটি এখানে আটকান।
কোনও ফর্মের উপর উল্লম্ব ট্যাবগুলি অক্ষম করার একটি সহজ উপায় আছে, কেবলমাত্র $form['additional_settings']['#type']
ভেরিয়েবলের মান হুক_ফর্ম_াল্টার () বা হুক_ফর্ম_এফএমএম_আইডি_এলটার () এর'fieldset'
প্রয়োগের ক্ষেত্রে পরিবর্তিত করে , যদি এটির সমান হয় ।
আপনার অ্যাক্সেস সেটিংস পরিবর্তন করার বা পুনরাবৃত্তভাবে পুরো অ্যারে চলার দরকার নেই , পরেরটি অহেতুক অত্যধিক সংস্থান গ্রহণ করে।
(দ্রুপাল .2.২৩ এ পরীক্ষিত ।)'vertical_tabs'
$form
/**
* Disable Vertical tabs on a form with simply changing the value of $form['additional_settings']['#type']
* @see https://drupal.org/node/1048644
*/
function form_disable_vertical_tabs(&$form){
// originally $form['additional_settings']['#type'] equals to 'vertical_tabs'
if(isset($form['additional_settings']['#type']) && ($form['additional_settings']['#type'] === 'vertical_tabs')){
$form['additional_settings']['#type'] = 'fieldset';
}
}
/**
* Implements hook_form_alter().
*/
function MYMODULEORTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
if($form_id == 'my_form_id'){
// disable vertical tabs for this form
form_disable_vertical_tabs($form);
}
}
যে সব, অবশ্যই, বিকল্পMYMODULEORTHEMENAME
আপনার নিজের মডিউল বা থিমের নাম (একটি আধুনিক করার template.php
ফাইল), এবংmy_form_id
আপনার ফর্মের আইডি।
আপনি কেবল সেই ব্যবহারকারীদের জন্য উল্লম্ব ক্ষেত্রগুলি অক্ষম করতে পারেন যাদের প্রশাসকের ভূমিকা নেই :
/**
* Implements hook_form_alter().
*/
function MYMODULEORTHEMENAME_form_alter(&$form, &$form_state, $form_id) {
global $user;
$is_administrator = in_array('administrator', array_values($user->roles));
if($form_id == 'my_form_id'){
// if $user does NOT have the administrator role.
if (!$is_administrator) {
// disable vertical tabs for this form
form_disable_vertical_tabs($form);
}
}
}
মামলা কেউ আগ্রহী হয়, আমি একটি প্যাচ সংযুক্ত করার জন্য (যার উপরে হিসাবে একই নয়) Dripman এর স্যান্ডবক্স মডিউল: # 2080739: প্রক্রিয়া সহজ শুধু পরিবর্তন উল্লম্ব ট্যাব অক্ষম পদ্ধতি $form['additional_settings']['#type']
থেকে'fieldset'
।