사용자가 기본 링크 메뉴에 추가 할 수있는 메뉴 항목의 수를 제한하는 방법이 있습니까? Drupal 사이트에서 일하고 있는데 가로형 기본 링크 인 nav bar가 있습니다. 탐색 표시 줄에는 7-8 개 링크 만있을 수 있습니다. 나는 앞으로 사이트의 관리자가 메뉴에 8 개 이상의 항목을 추가하기를 원하지 않습니다. 거기에 한계를 설정할 수있는 방법이 있습니까? 일부 모듈 또는 기능을 재정의 하시겠습니까? 당신이 시도 할 수Drupal 제한 기본 링크의 메뉴 항목 수
2
A
답변
4
덕분에 :
http://api.drupal.org/api/function/menu_primary_links/6
그런 다음, hook_form_alter을 사용하여 수행
$menu_links = count(menu_primary_links());
if ($menu_links > 8) {
unset($form['menu']);
}
을하지만, 우리는 또한 메뉴에 이미있는 노드를 보호해야합니다. 따라서,
$menu_links = count(menu_primary_links());
if ($menu_links > 8 && !($form['menu']['mlid']['#value'] != 0 && $form['menu']['#item']['menu-name'] == 'primary-links')) {
unset($form['menu']);
}
기본 노드 메뉴에 기존 메뉴 항목이없는 노드 양식에서만 메뉴 옵션이 제거됩니다. 그것은 편집중인 노드가 mlid를 가지고 있는지 확인하여 검사하고, 그렇다면 기본 링크 메뉴에 있는지 확인합니다.
hook_form_alter http://api.drupal.org/api/function/hook_form_alter
하지만 어떻게 우리의 사용자가 무슨 일이 있었는지 알 수 있습니까? 그 (것)들에게 시키 십시요.
if ($menu_links > 8 && !($form['menu']['mlid']['#value'] != 0 && $form['menu']['#item']['menu-name'] == 'primary-links')) {
unset($form['menu']);
drupal_set_message('The maximum limit of links in the primary menu has been reached.', 'status', FALSE);
}
사용자가 다른 노드를 추가하기 전에 노드를 제거해야하는 알 수 있도록 당신은 너무 menu_links $를 나열하여 해당 메시지에 확장 할 수있다.
또한 보조 링크 또는 다른 메뉴를 사용하는 경우 약간 힘듭니다. 어떤 경우에는 메뉴 옵션에서 트리를 바꾸기 위해 더 많은 프로그래밍이 필요하지만 현재는 조금 더 복잡합니다. 관리자> 빌드> 메뉴를 통해 항상 보조 메뉴에 노드를 추가 할 수 있습니다.
관련 문제
- 1. Drupal 모듈 기본 링크에 메뉴 항목 추가?
- 2. 링크가 아닌 drupal 메뉴 항목
- 3. Drupal 모듈 중첩 메뉴 항목
- 4. PHP 동적 수 및 제한 메뉴 항목
- 5. drupal 기본 메뉴의 메뉴 항목에 ID 추가
- 6. 드루팔 (Drupal 메뉴 항목 설정이 활성화 됨
- 7. 드루팔 (Drupal 6) 동적 메뉴 항목
- 8. 기본적으로 Drupal 메뉴 확장
- 9. 기본 컨텍스트 메뉴에 메뉴 항목 추가
- 10. 부모와 연결되는 메뉴 항목 만들기
- 11. 대체 기본 메뉴 (항목) 마우스 반응
- 12. drupal의 메뉴 항목
- 13. Drupal : Drupal6보기 : 필터 제한
- 14. Drupal 6 모든 유형의 노드에 대한 활성 메뉴 항목
- 15. drupal 메뉴 및 jquery 메뉴
- 16. Wordpress 메뉴 항목
- 17. 프로그래밍 방식으로 메뉴 항목/링크를 Drupal 메뉴에 추가 하시겠습니까?
- 18. 드루팔 (Drupal : 승인되지 않은 페이지로 링크해도 메뉴 항목 표시
- 19. drupal 기반 메뉴
- 20. Drupal, 번역 메뉴 PATHS
- 21. drupal (하위) 메뉴 만들기
- 22. 커스텀 테마 Drupal 6 메뉴
- 23. UITextField의 항목 제한
- 24. WinForms의 목록 상자에있는 항목 수 제한
- 25. 그래프 API '홈'결과의 항목 수 제한
- 26. 목록 컨트롤의 항목 수 제한 MFC
- 27. 문자 추가. 블로그 항목 수 및 제한
- 28. "항목 추가"권한을 제한 할 수 있습니까?
- 29. Android 메뉴 항목
- 30. Android 메뉴 항목 separetor (다른 행의 메뉴 항목)
이것은 좋은 대답입니다. 미래의 메인테이너의 온정을 위해서, 아마도이 최대 기본 링크 기능을 설명하는 메시지를 여기에 세팅 할 가치가있을 것입니다. – lazysoundsystem
참. 내 대답이 업데이트되었습니다. – Kevin
예! Kevin에게 감사드립니다. 그것은 매력처럼 작동했습니다! – ninusik