Điểm:1

Sửa đổi tiêu chí sắp xếp bằng cách sử dụng views_query_alter

lá cờ fi
KTM

Tôi có một cái nhìn cho loại nội dung sự kiện với các lĩnh vực event_name, sự miêu tả, tóm lược, event_start_date, vân vân. Yêu cầu của tôi là gì:

  1. Sắp xếp các sự kiện theo thứ tự tăng dần của event_date bằng hoặc lớn hơn ngày hiện tại (sự kiện sắp tới)
  2. Sắp xếp các sự kiện theo thứ tự giảm dần của event_date nhỏ hơn ngày hiện tại (Những sự kiện đã qua)

LƯU Ý: dữ liệu sắp tới nên đến trước và sau đó là dữ liệu trong quá khứ.

ví dụ: dữ liệu và đầu ra dự kiến

dữ liệu ví dụ

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

kết quả mong đợi

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

Thông qua cài đặt giao diện người dùng bình thường, tôi không thể đạt được điều này. vì vậy tôi đã thử lượt xem_query_alter hook để sửa đổi tiêu chí sắp xếp. nhưng tôi không thể đạt được điều này. Bất kỳ giúp đỡ?

Những gì tôi đã thử

/**
 * Triển khai hook_views_query_alter
 */
hàm news_t1_views_query_alter(ViewExecutable $view, QueryPluginBase $query) {
  if($view->id() == 'sự kiện'){
    $query->orderby[0]['field'] = "TRƯỜNG HỢP node__field_st_field_st_value KHI NGÀY(node__field_st_field_st_value) >= CURDATE() END";
    $query->orderby[0]['direction'] = "ASC";
    $query->orderby[1]['field'] = "TRƯỜNG HỢP node__field_st_field_st_value KHI NGÀY(node__field_st_field_st_value) < CURDATE() END";
    $query->orderby[1]['direction'] = "DESC";
    //$view->set_items_per_page(5);  
  }
}

nút__field_st là tên trường event_date.

Cập nhật sau câu trả lời của @Patrick Kenny

Giải pháp của bạn hoạt động tuyệt vời. cảm ơn!. tôi đã thêm một Global: View area (Toàn cầu: Xem khu vực) ở chân trang của màn hình chính. Nhưng có một trục trặc nhỏ cần được loại bỏ. Tôi có các bộ lọc theo ngữ cảnh và tiếp xúc trong chế độ xem chính được kế thừa (phần này không sao). Nhưng vấn đề là tiêu đề được lặp lại trong màn hình đính kèm. bất kỳ cách nào để thoát khỏi điều này? ảnh chụp màn hình đính kèm.

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

lá cờ cn
Có một số cách để thoát khỏi tiêu đề. Cá nhân tôi sẽ sử dụng mẫu Chế độ xem, nhưng tôi khuyên bạn nên mở một câu hỏi mới về "Làm cách nào để xóa tiêu đề thứ hai khi sử dụng tệp đính kèm Chế độ xem?" và người khác có thể có một ý tưởng tốt hơn.
Điểm:1
lá cờ cn

Mục tiêu: Hiển thị các sự kiện sắp tới, sau đó là các sự kiện trong quá khứ.

Cách đơn giản nhất để thực hiện điều này hoàn toàn thông qua View UI là thêm màn hình thứ hai vào dạng xem.

Các bước cơ bản

  1. Tạo giao diện hiển thị chính. Định cấu hình các sự kiện để hiển thị theo ý muốn.
  2. Đặt để sắp xếp theo các sự kiện sắp tới và lọc để chỉ các sự kiện sắp tới được hiển thị.
  3. thêm một Tập tin đính kèm trưng bày. Đối với màn hình này, hãy sửa đổi bộ lọc (Trang này: ghi đè) để chỉ hiển thị các sự kiện trong quá khứ và sửa đổi cách sắp xếp theo cách tương tự.
  4. bên trong chân trang của màn hình dạng xem chính, hãy thêm tệp đính kèm.
KTM avatar
lá cờ fi
KTM
Rất tiếc phải thêm một yêu cầu nữa là nó phải hiển thị trong một danh sách (một màn hình). Không có tab
lá cờ cn
@KTM Câu trả lời của tôi sẽ tạo ra một chế độ xem với tất cả nội dung trong một danh sách lớn. Sẽ có hai tab riêng biệt trong màn hình quản trị Giao diện người dùng Chế độ xem, nhưng khách truy cập vào chế độ xem thực tế sẽ thấy mọi thứ trên một trang.
KTM avatar
lá cờ fi
KTM
Wow sau đó sẽ là tuyệt vời! Tôi sẽ thử cái này :)

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