Ví dụ duy nhất trong lõi Drupal cho một tuyến động tùy thuộc vào dữ liệu đã lưu của người dùng là Chế độ xem có hiển thị trang và điều này mất nhiều thời gian để lưu. Chế độ xem cần các tuyến đường cho các bộ lọc theo ngữ cảnh. Trừ khi bạn có trường hợp sử dụng nội dung cụ thể như vậy (vui lòng chỉnh sửa câu hỏi của bạn nếu bạn có), cách phù hợp sẽ là bí danh. Trong biểu mẫu chỉnh sửa nút, bạn chỉ có thể thêm một bí danh, nhưng bạn có thể thêm nhiều bí danh hơn trong /admin/config/search/path. Nếu bạn muốn điều đó ở một nơi, bạn có thể thay đổi biểu mẫu chỉnh sửa nút cho nhiều bí danh.
Nếu bạn không muốn tạo từng bí danh bằng tay và các đường dẫn có mẫu, bạn có thể sử dụng bộ xử lý đường dẫn. Bạn có thể tạo giàn giáo bằng drush
bộ xử lý đường dẫn gen drush
và đặt mẫu biểu thức chính quy trong phương thức gửi đến:
/modules/custom/mymodule/src/PathProcessor/PathProcessorMymodule.php
<?php
không gian tên Drupal\mymodule\PathProcessor;
sử dụng Drupal\Core\PathProcessor\InboundPathProcessorInterface;
sử dụng Symfony\Thành phần\HttpFoundation\Request;
/**
* Bộ xử lý đường dẫn để loại bỏ tiền tố.
*/
lớp PathProcessorMymodule thực hiện InboundPathProcessorInterface {
/**
* {@inheritdoc}
*/
chức năng công khai processInbound($path, Request $request) {
return preg_replace('#^/(tác giả|người hỗ trợ)/#', '/', $path);
}
}
Bạn có thể lấy đường dẫn ban đầu sau với
\Drupal::request()->getPathInfo()
hoặc bạn có thể lưu trữ tiền tố trong thuộc tính dịch vụ trước khi xóa tiền tố để cung cấp tiền tố trên toàn cầu.
Nếu séc của bạn tạo ra đầu ra được hiển thị thì hãy thêm url.path
bối cảnh bộ đệm.