Tôi đang cố gắng tạo một số Chế độ xem với màn hình REST Export. Chúng có các đường dẫn được đặt phía sau 'api/.../.../.../%node' trong đó %node sẽ là một ID được gửi tới yêu cầu được cập nhật.Chế độ xem cơ bản có bộ lọc theo ngữ cảnh của Content ID (bị loại trừ) và sau đó "có bất kỳ thuật ngữ nào" từ nút này.
Tuy nhiên, trong bộ lọc theo ngữ cảnh cho "ID thuật ngữ phân loại từ URL" với "Tải thuật ngữ từ trang nút":
if (($node = $this->routeMatch->getParameter('node')) && $node instanceof NodeInterface) {
$entity = $node;
}
Kiểm tra này không thành công và do đó, các thuật ngữ nút không được kiểm tra.
Tôi có cần tham số tùy chỉnh cho mục đích này để báo cho hệ thống biết cần tìm gì không? Tôi đã hình dung miễn là ID là một nút, quá trình phát sóng vẫn sẽ xảy ra nhưng không phải vậy.
Đây là những gì xdebug nhìn thấy trong ViewPageController đối với các tham số và đối số của tuyến đường:
7611 là ID nút, phần nào của quy trình nên hoặc thường sẽ cập nhật điều này cho đối tượng Node?
Tất nhiên, nếu tôi làm điều này trong đối số Lượt xem TID, thì tôi có một Nút:
// Nạp đối số mặc định từ node.
if (!empty($this->options['node'])) {
// Chỉ cần kiểm tra, nếu một nút có thể được phát hiện.
if (($node = $this->routeMatch->getParameter('node')) && $node instanceof NodeInterface) {
$entity = $node;
}
if (($node = $this->routeMatch->getParameter('node')) && !empty($node) && !($node instanceof NodeInterface)) {
$entity = \Drupal::entityTypeManager()->getStorage('node')->load($node);
}
}
Chỉnh sửa: có thể liên quan: https://www.drupal.org/project/drupal/issues/2528166