Điểm:0

Làm cách nào để chuyển Block ID sang chế độ xem?

lá cờ us

Tôi có một loại Khối tùy chỉnh được gọi là HomeBlocks. Gói này có một trường đoạn văn cho phép nhiều đoạn văn.

Sau đó, tôi đặt (sử dụng Trình tạo bố cục) một thể hiện của loại khối này trên trang chủ của mình (một loại nút được gọi là Trang đích). Trong bố cục của loại khối, tôi có Chế độ xem liệt kê một số đoạn được thêm vào khối cụ thể đó. Chế độ xem liệt kê các đoạn văn của tôi nhưng liệt kê tất cả các đoạn văn thuộc loại đó. Nếu tôi thêm bộ lọc theo ngữ cảnh cho Parent ID vào chế độ xem và đặt là Cố định với giá trị là BlockID của khối mà tôi đã đặt trên trang chủ của mình; sau đó nó chỉ lọc những cái được thêm vào khối đó. Hoàn hảo.

Câu hỏi là sau đó; làm cách nào để tự động đặt bộ lọc theo ngữ cảnh này?

Tôi có thể nghĩ ra 2 cách tiếp cận:

  1. Tạo plugin bộ lọc theo ngữ cảnh vượt qua BlockID.
  2. Chuyển BlockID từ Bố cục sang Chế độ xem.

Tôi đã xem xét tùy chọn 2 một lúc trước và thấy một số công việc đang được thực hiện để cho phép các đối số được chuyển lại từ LB; nhưng nó chỉ hỗ trợ các giá trị tĩnh (trái ngược với mã thông báo).

Tùy chọn 1 có vẻ khá đơn giản và tôi đã thiết lập nó. Để bắt đầu, tôi chỉ cần trả lại giá trị ID tĩnh và điều này hoạt động như mong đợi.

Phần còn thiếu ở đây là làm thế nào để có được danh sách các khối (thuộc một loại nhất định) được đặt trên một nút cụ thể?

Tôi đã thử thực hiện việc này với một chế độ xem và tôi có thể nhận được danh sách BlockId của tất cả các khối thuộc loại này; nhưng không thể xem cách lọc thành cái được sử dụng trên nút cụ thể.

Nếu sẽ chỉ có 1 phiên bản của khối này được sử dụng trên trang web; sau đó tôi có thể sử dụng chế độ xem hiện tại của mình (liệt kê khối duy nhất thuộc loại này). Tôi không lo lắng về việc có nhiều phiên bản của khối này trên một trang; nhưng tôi đang cố gắng giải thích rằng có thể có nhiều trang được thêm vào khối này.

Điểm:0
lá cờ in

Vì vậy, nếu tôi hiểu chính xác, đây là những gì bạn đã làm:

  1. Tạo một số loại đoạn văn.
  2. Đã tạo một loại khối, với trường đoạn tham chiếu các loại đoạn trong #1.
  3. Đã tạo chế độ xem với màn hình Khối của đoạn văn, với bộ lọc theo ngữ cảnh cho Parent ID.
  4. Đã thêm chế độ xem trong #3 vào màn hình của loại khối trong #2 thông qua Trình tạo bố cục.
    • Tôi cho rằng bạn có những thứ khác đang diễn ra trong bố cục, nếu không, đây chỉ đơn giản là một Khối xem các Đoạn văn hoặc chỉ thêm trực tiếp trường đoạn văn vào bố cục.
  5. Đã tạo các phiên bản của loại khối trong #2 và thêm chúng trên một trang.

Có một vài bước quan trọng rất dễ bỏ lỡ:

  • Ở bước 3 (tạo dạng xem), hãy tạo mối quan hệ với loại thực thể Khối.Sau đó, thay vì tạo bộ lọc theo ngữ cảnh cho ID gốc của đoạn văn, hãy tạo bộ lọc theo ngữ cảnh cho Khối liên quan TÔI cánh đồng.
  • Ở bước 4 (thêm khối xem vào bố cục), khi bạn thêm khối Xem vào bố cục của khối, Trình tạo bố cục sẽ hỏi bạn về tiêu đề khối và khả năng hiển thị của nó. Ngay sau đó, và do những thay đổi trước đó đối với chế độ xem, bây giờ nó sẽ hỏi bạn giá trị nào sẽ chuyển thành giá trị bộ lọc theo ngữ cảnh. Sẽ có một tùy chọn đại diện cho khối hiện tại.

Kết quả cuối cùng phải là một chế độ xem bên trong bố cục của một khối lọc các đoạn theo ID của khối chứa nó.

liquidcms avatar
lá cờ us
tuyệt vời nhưng có lẽ cần phải vá? Mô tả của bạn về những gì tôi có là chính xác. Không có mối quan hệ nào cho "loại thực thể khối". Tôi có mối quan hệ với nội dung bằng cách sử dụng các trường được thêm vào loại đó. Sử dụng một trong số đó tôi có đối số cho "ID khối tùy chỉnh". Sau khi đặt khối, tôi có các liên kết theo ngữ cảnh để "kiểm soát khả năng hiển thị" (bản vá), quản lý attrs (kiểu dáng) và định cấu hình. Trong cấu hình tôi chỉ thấy tiêu đề và ghi đè tiêu đề. Tôi cũng có thể kích hoạt để yêu cầu các đối số trong cài đặt Chế độ xem trong khối; nhưng điều này chỉ lấy một id tĩnh trong bố cục.
liquidcms avatar
lá cờ us
Tôi sẽ thử thiết lập tính năng này trên trang web vanilla D9. Có lẽ bạn có các bản vá hoặc tôi không có bản mới nhất (tôi đang dùng D9.2) hoặc các bản vá tôi có đang can thiệp.
liquidcms avatar
lá cờ us
Đã thử một trang web vanilla D9.2 chỉ với một vài bản vá để cho phép các đoạn văn hoàn toàn hoạt động với các khối trong LB và tôi nhận được kết quả tương tự như đã đề cập. Tôi sẽ thử cập nhật lên D9.3 mới nhất.
lá cờ in
@liquidcms Tôi vừa kiểm tra, mối quan hệ được đặt tên như "Theo id: Khối tùy chỉnh sử dụng ``". Khi bạn thêm bộ lọc theo ngữ cảnh, trường để lọc là "ID khối tùy chỉnh". Sau đó, một chi tiết nhỏ mà tôi đã bỏ sót, khi bạn định cấu hình bộ lọc theo ngữ cảnh, bạn kiểm tra "Chỉ định tiêu chí xác thực", với trình xác thực được đặt là "Khối" và ID đơn làm đối số. Tôi nghĩ rằng bit cuối cùng này là thứ cuối cùng đã làm cho lựa chọn xuất hiện với tôi trong lần cuối cùng tôi làm điều này. Và điều này đã có sẵn từ 9.1 mà không có bản vá.
liquidcms avatar
lá cờ us
Đáng buồn là không có mối quan hệ nào gần cái tên đó. Có lẽ bạn có một mô-đun đóng góp? Tôi sẽ xem nếu tôi có thể theo dõi nó. Cảm ơn.
lá cờ in
@liquidcms Tìm kiếm nhanh "Theo id" (từ và chữ so khớp) trong mã cho thấy tính năng này có từ `entity_reference_revisions`, một phần phụ thuộc của `paragraphs` mà bạn nên có.
liquidcms avatar
lá cờ us
thật kỳ lạ, tôi đã thực hiện chính xác tìm kiếm phân biệt chữ hoa chữ thường đó trên toàn bộ trang web và không tìm thấy gì. Nhưng tìm hiểu một chút và đoán bạn có bản vá này: https://www.drupal.org/node/2799479. Cái từ #163 như tôi có cái từ #158 chưa thêm mối quan hệ này. Cảm ơn đã giúp đỡ.
liquidcms avatar
lá cờ us
Và ngay cả với bản vá đó .. vẫn không có tùy chọn nào để chuyển id khối hiện tại (hoặc bất kỳ thứ gì khác vào chế độ xem). Tôi nghi ngờ một bản vá khác cung cấp phần này của giải pháp. Hiện tại, tôi sẽ quay lại giải pháp của mình về plugin đối số tùy chỉnh để chuyển vào "id cha". Điều này không hoạt động nhưng hiện tại chỉ lấy khối đầu tiên của loại này vì tôi không thể tìm thấy câu trả lời cho câu hỏi ban đầu của mình - "làm cách nào để có danh sách các khối được đặt trên một nút?".

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