Điểm:0

Phân cấp loại nội dung

lá cờ in

Tôi còn khá mới đối với Drupal có các loại nội dung lặp lại trong các loại nội dung dành cho trẻ em bằng cách sử dụng các trường. Kết quả là một cái gì đó như thế này.

Loại nội dung văn phòng
Lĩnh vực: Loại nội dung văn phòng
- Loại nội dung văn phòng
- Trường: Người Nội dung Loại
- Trường: Người Nội dung Loại
- Trường: Người Nội dung Loại
- Loại nội dung văn phòng
-- Trường: Loại nội dung văn phòng
-- Trường: Người Nội dung Loại
-- Trường: Người Nội dung Loại

Tôi cần một loại nội dung để có thể nhận ra nó có cha mẹ hoặc ông bà. Tuy nhiên, thư mục này được tạo bằng cách sử dụng các kiểu nội dung dành cho văn phòng thay vì các nguyên tắc phân loại. Có thể lấy thông tin phân cấp từ các loại nội dung lồng nhau không? Thay vào đó, Loại Nội dung Office có nên được tạo dưới dạng phân loại không?

Liên kết đến chi tiết và tài liệu được chào đón.

Tôi đang sử dụng Drupal 9.3.x

lá cờ cn
Trong Drupal, các nguyên tắc phân loại có hệ thống phân cấp, nhưng các loại nội dung thì không. Vì vậy, nếu bạn muốn có một hệ thống phân cấp, bạn có thể sẽ thấy việc triển khai bằng cách sử dụng phân loại dễ dàng hơn nhiều so với việc hack các loại nội dung để tự thực hiện.
No Sssweat avatar
lá cờ ua
Điều duy nhất gần giống với điều đó đối với D9 là [Tham chiếu thực thể tương ứng](https://www.drupal.org/project/cer) nhưng dựa trên mô tả, có vẻ như nó sẽ không cho phép bạn nhận ra ông bà. Vì vậy, bạn sẽ phải sử dụng phân loại trừ khi bạn muốn tạo mô-đun tùy chỉnh của riêng mình để xử lý cây loại nội dung đó.
Jaypan avatar
lá cờ de
Bạn có thể tạo tham chiếu thực thể để tạo cấu trúc phân cấp. Nhưng không rõ ý của bạn là gì khi "nhận ra". Cũng không rõ mục tiêu cuối cùng của bạn là gì.
lá cờ in
Cảm ơn tất cả mọi người vì sự giúp đỡ của bạn. Có thể sử dụng các nguyên tắc phân loại, Tham chiếu thực thể và thậm chí thêm trường. Tôi đã thử nghiệm một vài trong số họ. Đồng nghiệp của tôi đã làm rõ và yêu cầu một giải pháp tiền xử lý nên tôi sẽ tìm hiểu sâu hơn một chút về PHP nâng cao.
Điểm:0
lá cờ in

Tôi đã tìm ra giải pháp bằng cách sử dụng chức năng tiền xử lý. Một cặp khóa/giá trị được thêm vào nút cha. Được đặt tên là "headline_level", nó sau đó được đứa trẻ tham chiếu và +1 được thêm vào. Số đó được gán cho một biến twig làm số của dòng tiêu đề, "headline_level" được tăng thêm 1 cho biến con nếu chính nó có con.

Trong hình ảnh này, chúng ta thấy một "văn phòng" cha kéo vào các nút con dưới dạng các trường. nhập mô tả hình ảnh ở đây

Sơ đồ cấp độ

Phụ huynh (h1)
|_ Con (h2) (xem hình ảnh)
   |_ Cháu (h3)
      |_ Cháu Lớn (h4)

Chức năng tiền xử lý cho chủ đề

function THEME_pre process_HOOK(&$variables) {
  $node = $variables['node'];

    /**
     * Cấp tiêu đề gốc 
     * Hiển thị cấu trúc tiêu đề hợp lý
     * Áp dụng giá trị cao hơn cho 'headline_level' cho các loại nội dung cấp dưới; được sử dụng trong '/templates/node--HOOK.html.twig'
     */
    nếu ($node->_referringItem) {
      // Biến
      bộ đếm $ = 1; // mức bắt đầu từ 1
      
      // Nối 'headline_level' vào nút HOOK
      $node->headline_level = $counter;
      $parentHeadline = $node->_referringItem->getEntity()->headline_level;
      
      // Kiểm tra nút cho $parentHeadline khác $count, đặt biến twig
      if (isset($parentHeadline)) {
        // Tăng 'headline_level' lên 1
        ++$dòng phụ huynh; // thêm 1
        $node->headline_level = $parentHeadline;
        $variables['office_headline_level'] = $parentHeadline; 
      } khác {
        $variables['headline_level'] = $counter;
      }
    }

Mẫu cành cây cho loại nội dung

  <div>
    <h{{ headline_level ?: 2 }}>{{ label }}</h{{ headline_level ?: 2 }}>
    {{ content.field_people }}
  </div>

Như đã đề cập trong các nhận xét, các Văn phòng này lẽ ra phải là một Phân loại. Tuy nhiên, chúng được tạo dưới dạng kiểu nội dung và được tham chiếu theo trường.

Đă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.