Điểm:0

Bộ tiền xử lý không trả về tin tức dựa trên ngày tạo chính xác

lá cờ cn

Tôi đang trả lại tin tức cho trang chủ của mình trong băng chuyền. Tôi đang sử dụng truy vấn bên dưới để trả về 9 bài viết mới nhất dựa trên ngày "tạo". Tuy nhiên, khách hàng muốn lùi ngày một số bài viết (vì vậy quản trị viên > nội dung > nút chỉnh sửa > tác giả và thay đổi ngày tạo). Tuy nhiên, điều này dường như không hoạt động vì liên tục trả về các bài viết theo thứ tự ngày thực tế mà chúng được tạo, ngay cả khi ngày được thay đổi theo cách thủ công:

$query = \Drupal::entityQuery('nút');
$query->accessCheck(FALSE)
    ->điều kiện('loại', 'tin tức')
    ->điều kiện('langcode', \Drupal::languageManager()->getCurrentLanguage()->getId(),"IN")
    -> sắp xếp ('đã tạo', 'DESC')
    ->phạm vi(0, 9);

$nids = $query->execute();
$entities = \Drupal::entityTypeManager()->getStorage('node')->loadMultiple($nids);

Tôi đang làm gì sai? Nó dường như hoạt động tốt trong chế độ xem trang tin tức thực tế. Bản thân chế độ xem có sắp xếp được đặt là "Nội dung: Được ủy quyền vào (desc)" và điều này trả về dữ liệu như mong đợi, nhưng truy vấn tiền xử lý thì không.

CHỈNH SỬA:

Đề xuất hiện tại là thay đổi sắp xếp thành "đã thay đổi", nhưng rất tiếc, điều này không hoạt động. Tôi có cảm giác vấn đề có liên quan đến bản dịch. Sau đây là kết quả đầu tiên trong mảng. Tôi đã cố tình tiếp tục và thay đổi ngày "tác giả" thành năm 2002 để đảm bảo nó sẽ tồn tại sau cùng, tuy nhiên, nó vẫn là đầu tiên. Tuy nhiên, nếu bạn nhìn vào các giá trị, tôi nghĩ đây là nơi xảy ra sự cố:

[đã tạo] => Mảng
 (
    [da] => 1647950253
    [x-mặc định] => 1016357523
    [es] => 1647950332
    [fi] => 1647950277
    [fr] => 1647949861
    [nb] => 1647950235
    [nl] => 1647950348
    [SV] => 1647950211
    [en-au] => 1647949797
    [en-gb] => 1647947671
    [en-us] => 1647947639
    [bel-fr] => 1647950381
    [bel-nl] => 1647950361
 )

Dựa trên kết quả này, có thể sắp xếp tìm kiếm ngày "được tạo" đầu tiên, là DA, nhưng trong trường hợp của chúng tôi, ngôn ngữ là x-default

Tôi có thể thay đổi cách sắp xếp để đảm bảo sắp xếp theo ngôn ngữ thực tế không?

Kevin avatar
lá cờ in
Loại tài sản có thể được 'thay đổi'. Lưu ý bên lề, việc xóa kiểm tra quyền truy cập và không kiểm tra trạng thái đã xuất bản có thể hiển thị những thứ bạn không muốn. Một cách khác để làm điều này là sử dụng trường ngày chuyên dụng thay vì thuộc tính nút.
mauzilla avatar
lá cờ cn
@Kevin xin lỗi, tôi không biết liệu tôi có hiểu về loại tài sản có thể đã thay đổi không?
lá cờ cn
Kevin có thể có nghĩa là bạn có thể cần sử dụng trường 'đã thay đổi' trên nút (lần cập nhật cuối cùng) thay vì 'đã tạo', không phải thuộc tính đã thay đổi. Nhưng nếu nó hoạt động chính xác trong chế độ xem thì tôi nghi ngờ có vấn đề về bộ đệm vì truy vấn thực thể của bạn có vẻ ổn
leymannx avatar
lá cờ ne
`->sắp xếp('đã thay đổi', 'DESC')`
mauzilla avatar
lá cờ cn
Tôi đã cập nhật câu hỏi, tôi nghĩ rằng tôi đang tiến gần hơn nhưng không chắc làm thế nào để sửa đổi sắp xếp?
mauzilla avatar
lá cờ cn
Tôi đã có thể theo dõi vấn đề. Vì không phải tất cả ngày tác giả của bản dịch đều được cập nhật, nên có vẻ như ngày tạo được sử dụng là bản dịch "mới nhất".
apaderno avatar
lá cờ us
Chính xác thì bạn đang sử dụng mã đó ở đâu? Tiêu đề đề cập đến *tiền xử lý*, nhưng tôi không rõ điều đó có nghĩa là móc tiền xử lý hay cái gì khác.

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