Vô hiệu hóa trang tóm tắt nút trên đường dẫn / nút


7

Tôi muốn vô hiệu hóa trang trước mặc định, đó là hiển thị một danh sách các nút. Tôi sử dụng một trang trước nhưng nó vẫn được hiển thị tại url example.com/node. Hoặc hạn chế truy cập hoặc chuyển hướng đến trang trước sẽ ổn.

Trang chủ của tôi hiện được đặt thành /home(được viết lại độc đáo example.com/). Bây giờ tôi đã thử một vài thứ khác nhau.

  • Theo /admin/config/search/path, tôi đã đặt bí danh từ nodeđến home.
    Thật không may, điều này chỉ dẫn đến việc chuyển hướng cả example.comexample.com/nodeđến example.com/home, hiển thị danh sách nút - không phải trang trước của tôi.
  • Tôi đã thử với một bí danh từ nodeđến <front>(Tôi không biết điều đó có hợp lệ ở đó không). Điều này gần như đã làm việc /home/nodecả hai đều chuyển hướng để example.comhiển thị đúng trang. Nhưng bây giờ danh sách nút có sẵn tại /<front>...
  • Tôi cũng đã thử với các bảng, tạo ra một biến thể của mẫu nút. Trả lại mã trạng thái khi đường dẫn bằng nodekhông hoạt động, tôi đoán vì trang chỉ được kích hoạt /node/, với dấu gạch chéo. Nó sẽ không cho phép tôi tạo một bảng điều khiển chỉ cho đường dẫn nút vì tất nhiên đường dẫn đã được sử dụng.
  • Dường như không có bất kỳ sự cho phép nào để thiết lập quyền truy cập vào danh sách này.

Vì vậy, làm thế nào tôi có thể vô hiệu hóa trang tại example.com/node?
Tôi đoán vấn đề của tôi là tôi thậm chí không biết danh sách nút này là loại trang nào. Tôi có cảm giác đó là một loại trang độc đáo, được chôn sâu trong lõi và không thể dễ dàng bị vô hiệu hóa.

Câu trả lời:


10

Nếu bạn ổn với việc viết một mô-đun tùy chỉnh nhỏ, bạn có thể thực hiện nó rất dễ dàng bằng cách sử dụng hook_menu_alter():

function MYMODULE_menu_alter(&$items) {
  $items['node']['access callback'] = FALSE;
}

Ở trên sẽ từ chối quyền truy cập vào trang, nếu bạn muốn xóa nó hoàn toàn sử dụng điều này thay vào đó:

function MYMODULE_menu_alter(&$items) {
  unset($items['node']);
}

Có một cuộc thảo luận về chủ đề ở đây với một vài ý tưởng khác nhưng tôi nghĩ đây sẽ là cách đơn giản nhất.


2

Bạn có thể cài đặt mô-đun Node Page Vô hiệu hóa mô-đun đóng góp từ Drupal.org.
Và sau đó chỉ cần bỏ chọn " Giữ lại / nút làm url hoạt động? " Trên trang Cấu hình> Hệ thống> Thông tin trang web ( /admin/config/system/site-information) Node Page Tắt ảnh chụp màn hình


1

Tôi chỉ thiết lập một bí danh từ home( đường dẫn hệ thống ) đến node( bí danh ) và nó đang hoạt động. Điều này trái ngược với những gì tôi đã thử trước đây. Cả hai đường dẫn kết thúc example.comvà hiển thị trang đầu mới chính xác.

Dù sao, đây có lẽ chỉ là 'ẩn' nút hệ thống tại url này, vì vậy loại bỏ / từ chối truy cập có thể là cách tốt hơn để xử lý việc này.

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.