Điểm:1

Xem với đường dẫn api/VERSION/foo/bar/%node - %node không được upcast lên một đối tượng Node

lá cờ in

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:

nhập mô tả hình ảnh ở đây

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

4uk4 avatar
lá cờ cn
Bạn có thể thử xây dựng một tuyến đường thực thể tiêu chuẩn với upcasting, Chế độ xem tái chế các tuyến đường hiện có sẽ duy trì việc upcasting.
Kevin avatar
lá cờ in
Làm thế nào mà làm việc đó? Tôi tạo một định nghĩa tuyến đường trống, sau đó sử dụng lại đường dẫn đó trong Chế độ xem?
4uk4 avatar
lá cờ cn
Vâng, tôi biết đây sẽ chỉ là một cách giải quyết.Nếu không, chúng tôi không thể làm gì ở đây, bạn đã tìm thấy sự cố cần được khắc phục.
Kevin avatar
lá cờ in
Tôi hiểu - Tôi không biết bạn có thể làm điều đó.
sonfd avatar
lá cờ in
@ 4uk4 - đó có phải là một tính năng thực tế không? Đó có phải là thứ có thể được "sửa chữa" sau này không?
sonfd avatar
lá cờ in
Bạn có thể thay đổi lộ trình của chế độ xem để yêu cầu chế độ xem upcast tham số không? https://drupal.stackexchange.com/questions/81362/how-do-i-alter-the-route-defined-by-another-module

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.