Yanıtlar:
Drupal 7 için, Simplify modülünü kullanabilirsiniz . Metin Biçimi seçenekleri textarea'yı ve ayrıca düğüm formlarındaki diğer öğeleri gizlemenizi sağlar.
Bunu yapmak için hook_form_alter'i özel bir modülde kullanabilirsiniz.
Örneğin, drupal 7'de:
// 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;
}
Drupal 6'da tam olarak ne istiyorsan onu yapan daha iyi bir modül var, 7 sürümlü bir sürüm var ama yoğun bir şekilde geliştirilmekte olduğuna dair bir uyarıyla geliyor. Sitenizi hala geliştirme aşamasında ise, o zaman bir şans vermeye değer olabilir.
Gerçekten sadece biçim form öğesini öldürebilirsiniz.
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
özel tema adınız olarak tasarlanmıştır. You should ASLA etkin dil kullanımını gerekirse, bir dil sert kod global $language;
bunu kapmak için.
LANGUAGE_NONE
değeri olan bir sabittir und
... kullanmayın und
.
Bence en iyi çözüm, metin formatı seçim elemanına erişimi engellemek. Tamamen ayarladıysanız, kaybolan bir WYSIWYG editörü olarak istenmeyen yan etkilerle karşılaşacaksınız. Bu yüzden aşağıdaki kodu öneriyorum.
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;
}
En kolay yol olan CSS'yi kullanın.
#body-add-more-wrapper #edit-body-und-0-format {display: none;}
İyi şanslar.
Drupal 7 İÇİN
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;
}
Giriş formatı seçeneğini gizlemenin başka bir basit yolu, seçeneği gizlemek istediğiniz kullanıcı profillerinden diğer tüm giriş formatlarını kaldırmaktır. Bunun için admin-> configuration-> input formatlarına gidin ve varsayılan olarak vermek istediğiniz hariç tüm kullanıcı rollerini diğer tüm formatlardan kaldırın.
Bunu ben yaptım:
Denetlenmemiş "Filtrelenmiş HTML metin biçimini kullanın" ve "İsimsiz ve yetkili kullanıcılar için CKeditor kullanamayacakları için kişilerin izinlerinden" Metin biçimlerini ve filtreleri yönetme "seçeneğini işaretleyin.
Tabii ki CSS'den "display: none;" Belirli bir div sınıfı için (.filter-wrapper)
CSS Enjektör modülünü takın (şu anda Drupal 8 için yalnızca bir çalışma geliştirme sürümü var).
Ardından CSS Enjektörünün (/ admin / config / development / css-injector) yönetim sayfasına gidin. Bu kodla (veya biçimlendirme alanı metni sınıfına uygulanan herhangi bir kodla) yeni bir CSS kuralı oluşturun:
.filter-guidelines {
display: none;
}
Üzerinde uygulamak için seçin Yedi tema (veya kullanımda herhangi yönetici teması). Kaydet ve tadını çıkar!
"Düz metin" giriş biçimini kaldıramazsınız. Ve "Düz Metin" giriş biçimini kullandığınızda RTE gösterilmiyor.
CSS seçeneğini kullanacağım.
Basitleştirilmiş modülü deneyin .
Basitleştir, belirli alanların kullanıcı arayüzünden gizlenmesini sağlar. Bu, formların dağınıklığına ve içerik düzenleyicilerine daha kullanıcı dostu bir deneyim sunmaya yardımcı olur.
Biçimleri gizlemek ancak hala kullanılabilir durumda tutmak istiyorsanız, " Basitleştirilmiş biçimler " modülünü deneyin : https://www.drupal.org/project/simplified_formats
Format seçimi açılır kutusunun yanındaki küçük bir soru işareti simgesindeki format ayrıntılarını gizler. Birçok metin formatı filtresi için, bir tanesinin bunları nasıl kullanacağını anlatan talimatları tamamen gizlemesinin faydası yoktur. Diğer filtreler daha otomatik. Son kullanıcıya neyin gösterildiğini ve neyin gelmeyeceğini seçmemizi sağlayan bir modüle ihtiyacımız olduğunu düşünüyorum.
Formatları gizle modülünü de kullanabilirsiniz .
Formatları Gizle, kullanıcı arayüzünü temizlemek için "metin formatı" veya "giriş formatı" açılır pencerelerini daraltmanıza izin verir.
Drupal 8 için. Bu, iki alanın format alanını kaldırır.
/**
* 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 için şunları yapabilirsiniz:
1) Kullanım hook_theme_registry_alter(&$theme_registry)
Tema kayıt defterini değiştirmek için bir modül içinde ; Tema işlemcileri tanımı.
2) Daha sonra değiştirmek üç tema fonksiyonları, theme_filter_tips
, theme_filter_tips_more_info
vetheme_filter_guidelines
, ve hiçbir şey dönmeye zorlamak. Aşağıdaki gibi:
Bu hedef fonksiyondur. Yukarıdaki tema fonksiyonlarının tümü buna yönlendirilecektir.
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';
}
Önbelleğinizi temizlediğinizde, Drupal, seçtiğiniz modül yolunda bu filtre tanımlarını arayacaktır (bakınız drupal_get_path
) ve her filtre için hiçbir şey döndürmeyecektir. Dolayısıyla, artık metin biçimi açıklamaları yoktur.
/ 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;
}
Çoğunlukla bu küçük değişikliklerle benim için çalıştı.
$form['body'][LANGUAGE_NONE][0]['format']['#prefix']<br>
$form['body'][LANGUAGE_NONE][0]['format']['#suffix']
hook_form_alter
ancak ayrıntılardan emin olamadığımı düşünüyorum, bu yüzden bunu bir cevap olarak göndermeyeceğim ...