'Ön sayfaya geç' ve 'yapışkan' seçenekleri nasıl devre dışı bırakılır?


14

Keşfettiğim iki olası yöntem:

Düğüm düzenleme formlarındaki her iki seçeneği de kaldırmak için hook_form_alter komutunu kullanın . Ancak ana yönetici içeriği sayfasında seçenekler hala 'Güncelleme seçenekleri' açılır menüsünde görünür.

Düğüm Seçeneklerini Geçersiz Kıl modülünü kullanın . Bu ayrıntılı denetim sağlar, ancak 'İçeriği yönet' izninin devre dışı bırakılması anlamına gelir. Kullanıcılar daha sonra toplu olarak yayınlamak, silmek vb. İçin hala ihtiyaç duydukları 'Güncelleme seçeneklerini' göremezler.

Yanıtlar:


16

Bu seçeneklerin görülebileceği 3 yer vardır:

  • yönetici / yapı / türler / yönetme / makale, "Makale" içerik türü için

    ekran görüntüsü

  • / 2 / edit üzerinde, kimliği 2'ye eşit olan düğüm için

    ekran görüntüsü

  • yönetici / içerik üzerinde, "Güncelleme seçenekleri" arasında

    ekran görüntüsü

Bu ayarlardan / yönetim sayfalarından seçenekleri kaldırmanız gerekirse, aşağıdaki form oluşturucuları değiştirmeniz gerekir:

node_admin_nodes()yönetici / içerikteki düğüm yönetimine genel bakış için form oluşturucudur; bu, kullanıcıların ön sayfadan bir düğümü tanıtmak / düşürmek ve bir düğümü yapışkan hale getirmek için doğru izne sahip olan "Güncelleme seçenekleri" alanını içerir. Alan, modüller tarafından uygulanan tüm düğüm işlemlerini listeler; elde edilen işlemler listesinde $operations = module_invoke_all('node_operations'), bu işlemler ile ilgili temsil edilmektedir $operations['promote'], $operations['demote'], $operations['sticky']ve $operations['unsticky'].


13

Drupal 7 için yazdığım özel bir modül, düğüm ekleme / düzenleme formları, içerik türü ekleme / düzenleme formları ve yönetici / içerik açılır listesindeki "ön sayfaya yükselt" ve "listelerin başında yapışkan" olanları kaldırıyor. Bu modül herhangi bir veritabanı ayarını değiştirmez, böylece mevcut içeriği değiştirmez, her zaman devre dışı bırakabilir ve seçeneklerinizi geri alabilirsiniz ve her şey daha önce olduğu gibi çalışacaktır.

Bu kodu bir hide_sticky_promote.module içine yapıştırın ve karşılık gelen bir hide_sticky_promote.info dosyası oluşturun, modülü ve wallah'ı etkinleştirin, daha yapışkan değil ve onay kutularını veya açılır seçimleri teşvik edin.

/**
 * Remove sticky/promote entirely from add and edit content type forms.
 *
 * Implements hook_form_FORM_ID_alter().
 */
function hide_sticky_promote_form_node_type_form_alter(&$form, &$form_state, $form_id) {
  // Remove sticky/promote entirely from add and edit content type forms.
  $options = array('promote', 'sticky');
  foreach ($options as $key) {
    unset($form['workflow']['node_options']['#options'][$key]);    
  }
}

/**
 * Remove sticky/promote entirely from node/X/edit & node/X/add forms.
 * 
 * Implements hook_form_BASE_FORM_ID_alter().
 */
function hide_sticky_promote_form_node_form_alter(&$form, &$form_state, $form_id) {
  $options = array('promote', 'sticky');
  foreach ($options as $key) {
    $form['options'][$key]['#access'] = FALSE;
  }
}

/**
 * Remove some sticky/promote update options on admin/content.
 *
 * Implements hook_form_FORM_ID_alter().
 */
function hide_sticky_promote_form_node_admin_content_alter(&$form, &$form_state, $form_id) {
  $options = array('demote', 'promote', 'sticky', 'unsticky', );
  foreach ($options as $key) {
    unset($form['admin']['options']['operation']['#options'][$key]);
  }
}

Veya buradan modül biçiminde yakalayın: https://github.com/StudioZut/hide-sticky-promote


3

Aşağıdakileri kullanın:

/**
 * Implements hook_form_alter().
 * This is remove the promote to frontpage, and make sticky options from node edit pages
 */
function alter_drupal_form_alter(&$form, &$form_state, $form_id) {
  if (strpos($form_id, '_node_form') !== FALSE) {
    unset($form['options']['sticky']);
    unset($form['options']['promote']);
  }

  if (strpos($form_id, 'node_admin_content') !== FALSE) {
    //$opt[''] = '- Select -';
    $opt['publish'] = 'Publish selected content'; 
    $opt['unpublish'] = 'Unpublish selected content'; 
    $opt['delete'] = 'Delete selected content'; 
    $opt['pathauto_update_alias'] = 'Update URL alias'; 
    $form['admin']['options']['operation']['#options'] = $opt;


    // print_r($form['admin']['options']['operation']['#options']);
  }
}

2

Drupal 8'de, seçenek içerik türü başına devre dışı bırakılabilir:

/admin/structure/types/manage/page/form-display

"Düğüm işlemi toplu formu" alanı, ilgili eylemi / admin / içerikten kaldırmak için yönetici içerik görünümünde de değiştirilmelidir.

/admin/structure/views/view/admin_content

İçerik türü tanıtım seçeneklerini korumak istiyorsanız, örneğin özel görünümlerle kullanım için, ön sayfa sayfasını oluşturan "ön sayfa" görünümü de şu şekilde değiştirilebilir:

/admin/structure/views/view/frontpage

Örneğin, fazladan bir filtre eklemek tanıtılan değere eşit değildir ve "sonuç davranışı yok" un kaldırılması o görünümün sonuç döndürmemesini sağlar.


1

İçerik türünü düzenleyerek 'ön sayfaya geç' seçeneğini devre dışı bırakabilirsiniz. Onu ve / veya 'yapışkan' seçenekleri, revizyonları ve daha fazlasını gizlemek için Drupal 7 için Jammer modülüne bakın.


0

Neden yalnızca ön sayfada görünen farklı bir şablon bölgesi oluşturmuyorsunuz ve o sayfadaki ['içerik'] bölgesini kaldırmıyorsunuz?

Formlardaki öğeler css kullanılarak veya hook_preprocess_form () ile gizlenebilir.


0

Bunun için "Promable Disable" modülünü kullanıyorum .

Tüm içerik türlerinizin seçili bir listesini veren Yapılandırma -> İçerik geliştirme -> Yükseltmeyi devre dışı bırak öğesinde bir kontrol oluşturur. Tanıtım seçeneğini tamamen kaldırmak için listedeki öğeleri Ctrl / çoklu seçim yapın.


0
function HOOK_form_node_form_alter(&$form, FormStateInterface $form_state) {
  if (isset($form['promote'])) {
    unset($form['promote']);
  }

  if (isset($form['sticky'])) {
    unset($form['sticky']);
  }
}

Sadece yukarıyı gerektirir


-1

Bir hook_node_presave uygulamak ve bu 0 olarak ayarlayabilirsiniz şüpheli. Bu bunları ayarlamak için herhangi bir olası yolu geçersiz kılmalıdır.

Ayrıca hook_form_alterbu yönetici sayfasında kullanılan formu deneyebilir ve bu seçenekleri kaldırabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.