जवाबों:
Drupal 7 के लिए, आप सरलीकृत मॉड्यूल का उपयोग कर सकते हैं । यह आपको पाठ प्रारूप विकल्पों को छिपाने के लिए अनुमति देता है textarea, साथ ही नोड रूपों पर अन्य तत्व।
ऐसा करने के लिए आप कस्टम मॉड्यूल में hook_form_alter का उपयोग कर सकते हैं।
उदाहरण के लिए, ड्रुपल 7 में:
// hook_form_alter function
function CUSTOM_MODULE_form_alter(&$form, &$form_state, $form_id) {
// We want this on a specific node type
if ($form_id == 'NODE_TYPE_node_form') {
$form['#after_build'][] = 'CUSTOM_MODULE_NODE_TYPE_node_form_after_build';
}
}
// afterbuild function
function CUSTOM_MODULE_NODE_TYPE_node_form_after_build($form) {
// We want this on a specific field
$form['YOUR_FIELD']['und']['0']['format']['#access'] = FALSE;
return $form;
}
ड्रुपल 6 में मॉड्यूल बेहतर प्रारूप है जो वास्तव में वही करता है जो आप चाहते हैं, एक 7 देव संस्करण है लेकिन यह एक चेतावनी के साथ आता है कि यह भारी विकास के अधीन है। यदि आप साइट अभी भी विकास में हैं तो यह एक शॉट देने के लायक हो सकता है।
आप वास्तव में सिर्फ फॉर्म फॉर्म आइटम को मार सकते हैं।
function MY_THEME_form_comment_form_alter(&$form, &$form_state, &$form_id) {
$form['comment_body']['#after_build'][] = 'MY_THEME_configure_comment_form';
}
function MY_THEME_configure_comment_form(&$form) {
unset($form[LANGUAGE_NONE][0]['format']);
return $form;
}
CUSTOM
आपका कस्टम थीम नाम के रूप में इरादा है। आप चाहिए कभी आप सक्रिय भाषा के प्रयोग की जरूरत है अगर एक भाषा कठिन कोड, global $language;
यह हड़पने के लिए।
LANGUAGE_NONE
मान के साथ एक स्थिर है und
... का उपयोग न करें und
।
मुझे लगता है कि सबसे अच्छा समाधान पाठ प्रारूप चयन तत्व तक पहुंच को समाप्त करना है। यदि आप इसे पूरी तरह से अनसुना कर देते हैं, तो आप गायब होने वाले WYSIWYG संपादक के रूप में अवांछित दुष्प्रभावों का सामना करेंगे। इसलिए मैं निम्नलिखित कोड प्रस्तावित करता हूं।
function MY_MODULE_form_comment_form_alter(&$form, &$form_state, &$form_id) {
$form['comment_body']['#after_build'][] = 'MY_MODULE_hide_text_format';
}
function MY_MODULE_hide_text_format(&$form) {
$form[LANGUAGE_NONE][0]['format']['#access'] = false;
return $form;
}
सबसे आसान तरीका सीएसएस का उपयोग करें।
#body-add-more-wrapper #edit-body-und-0-format {display: none;}
सौभाग्य।
द्रुपाल के लिए 7
function MODULENAME_element_info_alter(&$type) {
if (isset($type['text_format']['#process'])) {
foreach ($type['text_format']['#process'] as &$callback) {
if ($callback === 'filter_process_format') {
$callback = 'MODULENAME_filter_process_format';
}
}
}
}
function MODULENAME_filter_process_format($element) {
$element = filter_process_format($element);
// Change input format to "Filtered HTML" for body fields of NODETYPE_NAME
if ($element['#bundle'] == 'NODETYPE_NAME' && $element['#field_name'] == 'body') {
$element['format']['format']['#default_value'] = 'filtered_html';
$element['format']['format']['#format'] = 'filtered_html';
$element['format']['format']['#value'] = 'filtered_html';
$element['#format'] = 'filtered_html';
}
return $element;
}
इनपुट प्रारूप विकल्प को छिपाने का एक और सरल तरीका उस उपयोगकर्ता प्रोफाइल से अन्य सभी इनपुट प्रारूप को हटा रहा है जिसे आप विकल्प छिपाना चाहते हैं। इसके लिए, व्यवस्थापक-> कॉन्फ़िगरेशन-> इनपुट प्रारूप पर जाएं और डिफ़ॉल्ट रूप से आप जो देना चाहते हैं, उसे छोड़कर अन्य सभी इनपुट प्रारूप से सभी उपयोगकर्ता भूमिकाएं हटा दें।
इसे मैने किया है:
अनाम और अधिकृत उपयोगकर्ताओं के लिए अनियंत्रित "फ़िल्टर किए गए HTML पाठ प्रारूप का उपयोग करें" और "पाठ प्रारूप और लोगों को प्रशासित करें"> ताकि वे CKeditor का उपयोग न कर सकें।
बेशक आप इसे सीएसएस से "प्रदर्शन: कोई नहीं?" विशेष रूप से दिव्यांग वर्ग के लिए (यह .filter-आवरण) है और आपके द्वारा ऊपरी क्षेत्र को इंगित करने वाले सभी क्षेत्र को छिपाया जाता है, लेकिन इस मामले में यह क्षेत्र सभी के लिए छिपा हुआ है जिसमें सुपरयुसर भी शामिल है।
CSS इंजेक्टर मॉड्यूल स्थापित करें (वर्तमान में Drupal 8 के लिए केवल एक कार्यशील विकास संस्करण है)।
फिर CSS इंजेक्टर (/ admin / config / development / css-injection) के एडमिनिस्ट्रेशन पेज पर जाएं। इस कोड के साथ एक नया सीएसएस नियम बनाएं (या किसी भी कोड जो फॉर्मेटिंग एरिया टेक्स्ट के एक वर्ग पर लागू होता है):
.filter-guidelines {
display: none;
}
इसे सेवन थीम (या उपयोग में किसी भी व्यवस्थापक थीम) पर लागू करना चुनें । सहेजें और आनंद लें!
आप "सादा पाठ" इनपुट प्रारूप नहीं निकाल सकते। और आरटीई नहीं दिखा रहा है जब आप "प्लेन टेक्स्ट" इनपुट प्रारूप का उपयोग करते हैं।
मैं CSS विकल्प का उपयोग करूंगा।
मॉड्यूल को सरल बनाने का प्रयास करें ।
सरलीकरण उपयोगकर्ता इंटरफ़ेस से विशेष क्षेत्रों को छिपाने की अनुमति देता है। यह रूपों को अव्यवस्थित करने और सामग्री संपादकों के लिए अधिक उपयोगकर्ता के अनुकूल अनुभव प्रस्तुत करने में मदद करता है।
यदि आप स्वरूपों को छिपाना चाहते हैं, लेकिन फिर भी उन्हें उपलब्ध रखना चाहते हैं, तो " सरलीकृत प्रारूप " मॉड्यूल आज़माएं : https://www.drupal.org/project/simplified_formats
यह प्रारूप चयन ड्रॉपडाउन के बगल में थोड़ा प्रश्न चिह्न आइकन में प्रारूप विवरण छिपाता है। कई टेक्स्ट फॉर्मेट फिल्टर्स के लिए यह वास्तव में उन निर्देशों को पूरी तरह से छिपाने के लिए अच्छा नहीं है जो एक का उपयोग करने का तरीका बताते हैं। अन्य फ़िल्टर अधिक स्वचालित हैं। मुझे लगता है कि हमें एक मॉड्यूल की आवश्यकता है जो हमें यह चुनने की अनुमति देता है कि अंतिम उपयोगकर्ता को क्या दिखाता है और क्या नहीं।
आप हाईड फॉर्मेट मॉड्यूल का भी उपयोग कर सकते हैं ।
छुपाएँ स्वरूप आपको यूआई को साफ करने के लिए "पाठ प्रारूप" या "इनपुट प्रारूप" ड्रॉपडाउन को समाप्त करने की अनुमति देता है।
Drupal 8. के लिए यह दो क्षेत्रों के लिए प्रारूप क्षेत्र को निकालता है।
/**
* Implements hook_form_FORM_ID_alter().
*/
function CUSTOM_MODULE_form_FORM_ID_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
$form['#after_build'][] = 'CUSTOM_MODULE_eform_application_after_build';
}
function CUSTOM_MODULE_eform_application_after_build ($form) {
unset($form['field_experience']['widget'][0]['format']);
unset($form['field_miscellaneous']['widget'][0]['format']);
return ($form);
}
Drupal 7 के लिए, आप कर सकते हैं:
1) hook_theme_registry_alter(&$theme_registry)
विषय रजिस्ट्री, eq को बदलने के लिए एक मॉड्यूल के भीतर से उपयोग करें । विषय प्रोसेसर परिभाषा।
2) इसके बाद तीन विषय कार्यों में परिवर्तन, theme_filter_tips
, theme_filter_tips_more_info
, और theme_filter_guidelines
, और उन्हें कुछ भी नहीं लौटने के लिए बाध्य करते हैं। निम्नलिखित नुसार:
यह लक्ष्य समारोह है। उपरोक्त सभी थीम फ़ंक्शंस को पुनर्निर्देशित किया जाएगा।
function _mymodule_filter_tips($tips, $long = FALSE, $extra = ''){
return '';
}
/**
* Implements hook_theme_registry_alter
*/
function mymodule_theme_registry_alter(&$theme_registry) {
$theme_registry['filter_tips']['theme path'] = drupal_get_path( 'module', 'mymodule' );
$theme_registry['filter_tips']['function'] = '_mymodule_filter_tips';
$theme_registry['filter_guidelines']['theme path'] = drupal_get_path( 'module', 'mymodule' );
$theme_registry['filter_guidelines']['function'] = '_mymodule_filter_tips';
$theme_registry['filter_tips_more_info']['theme path'] = drupal_get_path( 'module', 'mymodule' );
$theme_registry['filter_tips_more_info']['function'] = '_mymodule_filter_tips';
}
जब आप अपना कैश साफ़ करते हैं, तो Drupal आपकी पसंद के मॉड्यूल के पथ पर उन फ़िल्टर परिभाषाओं की तलाश करेगा (देखें drupal_get_path
), और प्रत्येक फ़िल्टर के लिए कुछ भी नहीं लौटाएगा। इसलिए, कोई और पाठ प्रारूप विवरण नहीं।
/ hook_form_alter function
function CUSTOM_MODULE_form_alter(&$form, &$form_state, $form_id) {
// We want this on a specific node type
if ($form_id == 'NODE_TYPE_node_form') {
$form['#after_build'][] = 'CUSTOM_MODULE_NODE_TYPE_node_form_after_build';
}
}
// afterbuild function
function CUSTOM_MODULE_NODE_TYPE_node_form_after_build($form) {
// We want to hide input formats and we can do it like following
$form['body']['und']['0']['format']= '<div style="display:none;">';
$form['body']['und']['0']['format']= '</div>';
return $form;
}
ज्यादातर मेरे लिए इन छोटे बदलावों के साथ काम किया।
$form['body'][LANGUAGE_NONE][0]['format']['#prefix']<br>
$form['body'][LANGUAGE_NONE][0]['format']['#suffix']
hook_form_alter
लेकिन मैं कर रहा हूँ यकीन नहीं है, तो विवरण के बारे में मैं एक जवाब के रूप में इस पोस्ट नहीं होगा ...