Як відключити параметри "просування на головну сторінку" та "липкі"?


14

Два можливі методи, які я досліджував:

Використовуйте гачку_форма_алтер, щоб скасувати обидва варіанти у формах редагування вузла. Але на головній сторінці вмісту адміністратора параметри все ще відображаються у спадному меню "Оновити параметри".

Використовуйте модуль Переопределити параметри вузла . Це забезпечує детальний контроль, але означає відключення дозволу "Адміністратор вмісту". Потім користувачі взагалі не можуть побачити "Параметри оновлення", які їм все ще потрібні для масового опублікування, видалення тощо.

Відповіді:


16

Є три місця, де можна побачити ці варіанти:

  • для адміністратора / структура / типи / управління / стаття, для типу вмісту "Стаття"

    скріншот

  • для вузла / 2 / редагувати, для вузла з ідентифікатором, рівним 2

    скріншот

  • для адміністратора / вмісту, між опціями "Оновити"

    скріншот

Якщо вам потрібно видалити параметри з цих сторінок налаштувань / адміністративних систем, вам потрібно змінити такі конструктори форм:

node_admin_nodes()- це конструктор форми для огляду адміністрування вузла в адміністраторі / контенті, який включає поле "Параметри оновлення", що дозволяє користувачам з правильним дозволом просувати / демотирувати вузол з титульної сторінки та зробити вузол клейким. Поле перелічує всі операції з вузлами, реалізовані модулями; в списку операцій , отриманих з $operations = module_invoke_all('node_operations'), ці операції представлені з $operations['promote'], $operations['demote'], $operations['sticky'], і $operations['unsticky'].


13

Ось спеціальний модуль, який я написав для Drupal 7, який видаляє "рекламувати на головній сторінці" та "липкий у верхній частині списків" на формах додання / редагування вузлів, формах типу "додавання / редагування типу вмісту" та спаді "адміністратор / вміст". Цей модуль не змінює жодних налаштувань бази даних, тому він не змінює існуючий вміст, ви завжди можете його відключити і повернути свої параметри, і все буде працювати так, як це було раніше.

Вставте цей код у модуль hid_sticky_promote.module та зробіть відповідний файл skri_sticky_promote.info, увімкніть модуль та wallah, не більше липкого та просуваючи прапорці або випадаючі списки.

/**
 * 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]);
  }
}

Або захопіть його звідси у формі модуля: https://github.com/StudioZut/hide-sticky-promote


3

Використовуйте наступне:

/**
 * 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 опцію можна відключити для типу вмісту:

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

Поле "Об'ємна форма операції з вузлом" також має бути змінено у вікні вмісту адміністратора, щоб видалити відповідну дію з / admin / content

/admin/structure/views/view/admin_content

Якщо ви хочете зберегти параметри реклами типу вмісту, наприклад, для використання із спеціальними представленнями даних, вигляд "передня сторінка", яка генерує сторінку, також може бути змінена в

/admin/structure/views/view/frontpage

Якщо додати, наприклад, додатковий фільтр "не дорівнює розсудженому", а видалення "без результату поведінки" "робить це подання результатом не результатом.


1

Ви можете відключити "просувати на головну сторінку", відредагувавши тип вмісту. Щоб приховати його та / або "липкі" параметри, версії та інше, ознайомтеся з модулем Jammer для Drupal 7.


0

Чому б не зробити іншу область шаблону, яка відображається лише на головній сторінці, і не видалити область ['content'] на цій сторінці?

Елементи у формах можна приховати за допомогою css або за допомогою_up_preprocess_form ()


0

Для цього я використовую модуль "Сприяти відключенню" .

Він створює елемент керування в налаштуваннях -> створення вмісту -> рекламувати відключення, що дає список вибору всіх типів вмісту. Ctrl / multi-select items у списку, щоб повністю вилучити опцію просування.


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']);
  }
}

Це потрібно лише вище


-1

Я підозрюю, що ви могли реалізувати гачку_node_presave і встановити їх на 0. Це повинно змінити будь-який можливий спосіб їх встановлення.

Ви також можете спробувати hook_form_alterформу, використану на цій сторінці адміністратора, і видалити ці параметри.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.