it-swarm-ko.tech

'프론트 페이지로 승격'및 '고정'옵션을 비활성화하는 방법은 무엇입니까?

내가 조사한 두 가지 가능한 방법 :

노드 편집 양식에서 두 옵션을 모두 설정 해제하려면 hook_form_alter 를 사용하십시오. 그러나 기본 관리자 콘텐츠 페이지의 옵션은 여전히 ​​'업데이트 옵션'드롭 다운 아래에 나타납니다.

Override Node Options 모듈을 사용하십시오. 이는 세분화 된 제어를 제공하지만 '콘텐츠 관리'권한을 비활성화하는 것을 의미합니다. 그러면 사용자는 '업데이트 옵션'을 볼 수 없습니다 모두 대량 게시, 삭제 등을 위해 여전히 필요합니다.

14
pushka

이러한 옵션을 볼 수있는 세 곳이 있습니다.

  • "Article"컨텐츠 유형에 대한 admin/structure/types/manage/article

    screenshot

  • iD가 2 인 노드의 경우 노드/2/편집

    screenshot

  • "업데이트 옵션"사이의 관리자/콘텐츠

    screenshot

해당 설정/관리 페이지에서 옵션을 제거해야하는 경우 다음 양식 빌더를 변경해야합니다.

node_admin_nodes()은 admin/content의 노드 관리 개요를위한 양식 작성기입니다. 여기에는 "업데이트 옵션"필드가 포함되어 있으며,이 권한을 가진 사용자는 프론트 페이지에서 노드를 승격/할당 할 수 있습니다. 노드를 끈끈하게 만드십시오. 이 필드에는 모듈로 구현 된 모든 노드 작업이 나열됩니다. $operations = module_invoke_all('node_operations')으로 얻은 연산 목록에서 해당 연산은 $operations['promote'], $operations['demote'], $operations['sticky']$operations['unsticky'].

16
kiamlaluno

다음은 노드 추가/편집 양식, 컨텐츠 유형 추가/편집 양식 및 "앞 페이지로 승격"및 "목록 맨 위에 고정"을 제거하는 Drupal 7)에 대해 작성한 사용자 정의 모듈입니다. 관리자/콘텐츠 드롭 다운 :이 모듈은 데이터베이스 설정을 변경하지 않으므로 기존 콘텐츠를 변경하지 않으므로 언제든지 사용 중지하고 옵션을 다시 가져올 수 있으며 모든 것이 이전처럼 작동합니다.

이 코드를 hide_sticky_promote.module에 붙여넣고 해당 hide_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

13
Elijah Lynn

다음을 사용하십시오.

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

Drupal 8에서 옵션은 콘텐츠 유형별로 비활성화 할 수 있습니다.

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

/ admin/content에서 해당 조치를 제거하려면 관리 컨텐츠보기에서 "노드 조작 벌크 양식"필드도 수정해야합니다.

/admin/structure/views/view/admin_content

컨텐츠 유형 승격 옵션을 유지하려는 경우, 예를 들어 사용자 정의보기에 사용하기 위해 첫 페이지를 생성하는 "프론트 페이지"보기를 다음에서 수정할 수도 있습니다.

/admin/structure/views/view/frontpage

예를 들어 추가 필터를 '승격과 같지 않음'으로 추가하고 '결과 없음'을 제거하면 해당보기가 결과를 반환하지 않습니다.

2
Matoeil

컨텐츠 유형을 편집하여 '프론트 페이지로 승격'을 비활성화 할 수 있습니다. 그것을 숨기거나 'sticky'옵션, 수정 등을 숨기려면 Drupal 7에 대한 Jammer 모듈을 확인하십시오.

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

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

위에 만 필요

0
Ankit Shah

첫 페이지에만 나타나는 다른 템플릿 영역을 만들고 해당 페이지에서 [ 'content'] 영역을 제거하지 않는 이유는 무엇입니까?

양식의 요소는 CSS를 사용하거나 hook_preprocess_form ()을 사용하여 숨길 수 있습니다

0
Cube Inspire

이를 위해 "Promote Disable"모듈 을 사용합니다.

구성-> 컨텐츠 작성-> 승격 사용 안함에서 모든 컨텐츠 유형의 선택 목록을 제공하는 제어를 작성합니다. 승격 옵션을 완전히 제거하려면 목록에서 항목을 Ctrl/여러 선택하십시오.

0
shuckc