Làm cách nào để ẩn một loại nội dung trên trang thêm nút?


11

Tôi cần một cách để ẩn một loại nội dung trên trang thêm nút, hoặc tốt hơn là tạo hai nút riêng biệt thêm các trang tách các loại nội dung của tôi. Tôi đang dùng Drupal 7 và có bốn loại nội dung khác nhau. Tôi muốn ba trong số chúng ở trên trang thêm nút mặc định và trang thứ tư được tách riêng. Làm thế nào tôi sẽ làm điều này? Cảm ơn

Câu trả lời:


11

Hai khả năng:

  • admin/structure/menu/manage/navigation di chuyển / xóa mục menu mà bạn không muốn.
  • Cách sạch nhất: sử dụng vai trò và quyền. Nếu người dùng không thể tạo loại nội dung, liên kết sẽ không xuất hiện trong bất kỳ menu nào.

Cảm ơn câu trả lời của bạn. Cách khả thi đầu tiên của bạn là cách tôi sẽ sử dụng vì tôi vẫn cần người dùng có thể tạo các nút thuộc loại nội dung thứ tư của mình. Tôi chỉ cần nó tách khỏi ba người kia.
oobie11

Ok, chỉ cần di chuyển mục menu trong một menu khác hoặc ẩn nó và tạo một mục khác cùng liên kết menu này (nút / add / <your_content_type>)
nourcy

Đây là câu trả lời tốt nhất.
Christia

4

Đặt cái này trong một mô-đun tùy chỉnh:

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 chuyển đổi các liên kết thành các tab. Tôi đã sử dụng MENU_CALLBACK thay thế.
Freeman

3

CẬP NHẬT

MENU_CALLBACK, như được đề xuất trong các câu trả lời khác, đã không làm việc cho tôi ở đây. Họ vẫn xuất hiện trên node/addtrang.

Mã này đã làm việc:

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

Tất nhiên, nó giả định rằng bạn muốn vô hiệu hóa (không ẩn) node/addliên kết cho loại đó.


CÂU TRẢ LỜI

Các node/addtrang được cung cấp bởi các module Node. Bạn có thể có thể làm những gì bạn muốn bằng cách vô hiệu hóa mục menu trong menu Điều hướng, theo bài đăng này: http://data.agaric.com/diseac-or-moving-nodeaddcontent-type-links-from-beneath- add-content-navigation-menu-cũng-remove

Đó là một chút lỗi, vì vậy nó có thể không phải là một cách đáng tin cậy để làm điều đó. Cá nhân, tôi sẽ tạo một phiên bản tùy chỉnh của node/addtrang trong một mô-đun bằng cách sao chép trang hiện có và thực hiện các sửa đổi cụ thể của tôi. Sau đó, tôi sẽ sử dụng hook_menu_alterđể node/addđi đến phiên bản của tôi.

Thay vào đó, bạn có thể thay thế nó bằng chế độ xem hoặc bảng điều khiển (bằng Trình quản lý trang), nhưng tôi chưa thử điều này và có lẽ bạn sẽ mất tự động hóa.


Cảm ơn! Đâu là node/addtrang nằm ở đối với tôi sao chép? Và làm thế nào bạn có thể đề nghị in ra các loại nội dung khác nhau?
oobie11

Nó nên ở trong node.pages.inc. Nếu bạn cần các loại khác để hiển thị khi bạn tạo chúng và không có danh sách tĩnh, hãy thực hiện theo mã.
wizonesolutions

Tự theo dõi: Tôi không thích câu trả lời của chính mình từ 4,5 năm trước. Sử dụng một trong những cách trên :)
wizonesolutions
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.