it-swarm-vi.com

Làm cách nào để ẩn trang / nút mặc định?

Drupal out of the box đi kèm với một trang (là trang chủ mặc định) được gán cho đường dẫn nút.

Làm cách nào để tránh người dùng tiếp cận và chuyển hướng họ đến trang chủ thực tế của trang web?

22
wiifm

Không có cách dễ dàng để ẩn trang đó. Nếu bạn không sử dụng nó, bạn có thể triển khai hook_menu_alter () và xóa nó hoàn toàn hoặc đặt cuộc gọi lại truy cập của nó thành FALSE.

17
Berdir

Tạo bí danh đường dẫn chuyển hướng từ/nút đến trang bạn muốn sử dụng làm trang trước.

8
kiamlaluno

Tôi thích thay đổi cuộc gọi lại trang của/nút để nó hiển thị trang 404 lỗi.
[.___.] Điều này luôn hiển thị trang 404 tùy chỉnh của bạn khi truy cập/nút.

function yourmodule_menu_alter(&$items) {
    $items['node']['page callback'] = 'drupal_not_found';      
}
6
Marc Bachmann
<?php
function MY_MODULE_menu_alter(&$callbacks) {
unset($callbacks['node']);
}
?>

hoặc thêm phần này vào settings.php (URL gửi vào)

<?php
function custom_url_rewrite_inbound(&$result, $path, $path_language) {
  if ($path == 'node') {
    $result = ''; 
  }
}
?>
4
AyeshK

Tôi đã sử dụng mô đun Redirect : Tôi vừa thêm một chuyển hướng 301 mới từ node đến <front>.

2
ACD

Bạn có thể tạo một trang được ánh xạ tới/nút không được xuất bản. Vì vậy, người dùng sẽ gọi đường dẫn này sẽ có trang bị cấm truy cập

1
pitop

Tương tự như câu trả lời của berdirs, tôi có đoạn mã sau được bao gồm trong một mô-đun là một phần của bản phân phối tùy chỉnh mà chúng tôi xây dựng từ:

function HOOK_menu_alter(&$items) {
  $items['node']['page callback'] = '_HOOK_empty_home';
}

function _HOOK_empty_home() {
  drupal_set_title('');
  return '';
}

Bằng cách đó, tôi có thể giữ đường dẫn 'nút' làm frontpage và sử dụng bối cảnh để định vị các khối để xây dựng frontpage cần thiết.

1
Decipher

Bạn có thể tạo một trang mới với URL nút và mọi người có thể thấy một thông báo chuyển hướng họ đến trang trước hoặc chọn một danh mục của một cái gì đó.

1
Mario

Giải pháp dễ dàng cho tôi là tạo một trang mà tôi muốn trở thành trang chủ và đặt URL thành/nút. Sau đó, dưới/admin/config/system/site-information đặt trang trước mặc định thành/nút. Bạn không bao giờ thấy "/ nút" trong URL trừ khi có ai đó thực sự nhập nó. Thật nhanh chóng, dễ dàng và sạch sẽ, miễn là bạn muốn đặt URL trang chủ của mình thành/nút.

1
Jack McKenzie

Tôi đã thử nhiều thứ. Sau đó cho Drupal 7 và 8, tôi thấy điều này là dễ dàng nhất, không cần viết bất kỳ mã nào:

tải xuống và kích hoạt các mô-đun node_page_disable, globalredirect và redirect.

(Lưu ý: mô-đun node_page_disable chuyển hướng/nút thành 404 không tìm thấy trang lỗi.)

sau đó thêm một chuyển hướng cho/nút -> trang trước

Xin lưu ý rằng chuyển hướng chuyển hướng cả/nút và/nút/đến trang trước.

và một bài viết hữu ích để đọc: https://www.drupalaid.com/blog/3-things-you-should- leather

1
Kasım Burak Özdemir

Câu hỏi phổ biến từ khá nhiều năm trước, với một số câu trả lời khá thú vị. Tuy nhiên, hãy đoán xem: "Ngày nay có một mô-đun cho nó ... thực sự thậm chí là hai!" (không được đề cập trong bất kỳ câu trả lời trước).

Đọc để biết thêm chi tiết ... (trích dẫn từ các trang dự án của họ) ...

Quản trị viên trang nút (D6 hoặc D7):

Mô-đun này thêm bảng điều khiển cài đặt quản trị để xử lý truy cập trang /nút. Khi nó được kích hoạt, có ba cấu hình rõ ràng:

  • Core - Drupal core sẽ xử lý truy cập trang nút như bình thường: tất cả người dùng có quyền 'truy cập nội dung'
  • Vô hiệu hóa - Không ai có thể truy cập/nút. Nó sẽ trả về 'Không tìm thấy trang' (404).
  • Theo sự cho phép - Quyền truy cập sẽ được xử lý bởi một quyền mới: 'trang nút truy cập'

Vô hiệu hóa trang nút (D6 hoặc D7, mặc dù chỉ có phiên bản RC2):

Cho phép truy cập UI dễ dàng và vô hiệu hóa đường dẫn /nút khi không được sử dụng. Điều này được lấy cảm hứng từ việc xem xét bảo mật trong Mô-đun kiểm tra sản xuất .

0
Pierre.Vriens

Tạo một nút, sau đó đi đến cấu hình trang web -> thông tin trang web và đặt trang chủ thành đường dẫn của nút. Vì vậy, nếu đó là nút đầu tiên của bạn, nó sẽ là nút/1.

Chỉnh sửa: Theo mặc định, chỉ bằng cách tạo một nút, trang đó sẽ biến mất nếu bạn kiểm tra 'thăng hạng lên trang trước'. Bước thông tin trang web sẽ làm cho nút đó trang trước thực tế của bạn.

0
Mike L.

Bạn có thể sử dụng mô-đun Quy tắc để kiểm tra url trước khi xem một trang và chuyển hướng người dùng đến một trang khác nếu bạn muốn.

  • Thêm quy tắc với sự kiện: Nội dung sẽ được xem
  • Thêm điều kiện: Thực thi tùy chỉnh PHP mã và kiểm tra đường dẫn
  • Thêm hành động: Chuyển hướng trang và chọn đường dẫn bạn muốn chuyển hướng đến
0
Laxman13