노드 추가 페이지에서 컨텐츠 유형을 숨기는 방법은 무엇입니까?


11

노드 추가 페이지에서 컨텐츠 유형을 숨기거나 더 나은 방법으로 컨텐츠 유형을 구분하는 두 개의 분리 된 노드 추가 페이지를 만드는 방법이 필요합니다. Drupal 7을 사용 중이며 4 가지 콘텐츠 유형이 있습니다. 이 중 3 개는 기본 노드 추가 페이지에 있고 4 번째는 분리하고 싶습니다. 어떻게해야합니까? 감사

답변:


11

두 가지 가능성 :

  • admin/structure/menu/manage/navigation 원하지 않는 메뉴 항목을 이동 / 삭제합니다.
  • 가장 깨끗한 방법 : 역할 및 권한을 사용하십시오. 사용자가 컨텐츠 유형을 작성할 수 없으면 링크가 메뉴에 나타나지 않습니다.

답변 주셔서 감사합니다. 첫 번째 가능한 방법은 사용자가 여전히 네 번째 콘텐츠 유형의 노드를 만들 수 있기 때문에 내가 사용하는 방법입니다. 다른 세 개와 분리하면됩니다.
oobie11

좋아, 그래서 다른 메뉴에서 메뉴 항목을 이동하거나 숨기고 동일한 메뉴 링크 (node ​​/ add / <your_content_type>)로 다른 메뉴 항목을 만듭니다
nourcy

이것이 가장 좋은 대답입니다.
Christia

4

이것을 사용자 정의 모듈에 넣으십시오.

function yourcustommodule_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    $items['node/add/your-content-type']['type'] = MENU_DEFAULT_LOCAL_TASK;
  }
}

2
MENU_DEFAULT_LOCAL_TASK는 링크를 탭으로 변환합니다. 대신 MENU_CALLBACK을 사용했습니다.
Freeman

3

최신 정보

MENU_CALLBACK다른 답변에서 제안한 것처럼 여기에서는 효과가 없었습니다. 그들은 여전히 node/add페이지에 나타납니다 .

이 코드는 다음과 같이 작동했습니다.

function MYMODULE_menu_alter(&$items) {
  if (isset($items['node/add/your-content-type'])) {
    unset($items['node/add/your-content-type']);
  }
}

물론 node/add해당 유형에 대한 링크 를 비활성화 (숨기지 않음)하려는 것으로 가정합니다 .


원래 답변

node/add페이지는 노드 모듈에 의해 제공된다. 다음 게시물에 따라 탐색 메뉴에서 메뉴 항목을 비활성화하여 원하는 것을 수행 할 수 있습니다. http://data.agaric.com/disabling-or-moving-nodeaddcontent-type-links-from-beneath- 콘텐츠 탐색 메뉴 추가 및 제거

약간의 버그이므로 신뢰할 수있는 방법이 아닐 수도 있습니다. 개인적으로 node/add기존 페이지를 복사하고 특정 수정을 수행하여 모듈 에서 페이지 의 사용자 정의 버전을 작성했습니다 . 그럼 내가 사용하는 것이 hook_menu_alter만들어 node/add내 버전으로 이동합니다.

대신 페이지 관리자를 사용하여보기 또는 패널로 바꿀 수 있지만 시도하지 않았으므로 자동화를 잃을 수 있습니다.


감사! node/add복사 할 페이지 는 어디에 있습니까 ? 다른 컨텐츠 유형을 인쇄하는 방법을 제안 하시겠습니까?
oobie11

에 있어야합니다 node.pages.inc. 다른 유형을 작성할 때 표시되고 정적 목록이없는 경우 코드에서 수행하십시오.
wizonesolutions

자기 후속 조치 : 4.5 년 전의 답변은 마음에 들지 않습니다. : 위의 것들의 사용 일
wizonesolutions
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.