Điểm:2

Varnish trong trang web đa ngôn ngữ

lá cờ uy

Tôi có một trang web đa ngôn ngữ mà tôi sử dụng trong hầu hết các mô-đun tùy chỉnh của mình (tệp .module) và trong tệp mycustomtheme.theme có những dòng mã sau: \Drupal::languageManager()->getCurrentLanguage()->getId();

\Drupal::service('domain.negotiator')->getActiveId(); Tôi muốn cài đặt Varnish trên trang web của mình và tôi biết rằng tôi có thể chỉ định một số URL không được lưu trong bộ nhớ cache, chẳng hạn như tôi đã chỉ định đường dẫn của bộ điều khiển tùy chỉnh trong đó \Drupal::languageManager()->getCurrentLanguage()->getId(); được sử dụng để trang liên quan đến bộ điều khiển này không được lưu vào bộ đệm. Tuy nhiên, tôi không biết phải làm gì đối với tất cả các tệp .module mà tôi đã sử dụng dòng mã này. Chức năng này có ->getCurrentLanguage()->getId(); có một đường dẫn cụ thể để tôi có thể chỉ định đường dẫn của nó bị véc ni bỏ qua? Tái bút: điều này rất quan trọng vì một số tính năng khác nhau giữa người dùng này với người dùng khác tùy thuộc vào ngôn ngữ của trang web.

Điểm:2
lá cờ cn

Đối với lưu lượng truy cập ẩn danh không getCurrentLanguage()->getId() là vấn đề, đó là phương pháp phát hiện ngôn ngữ. Dựa trên trình duyệt không được khuyến khích.Đối với hiệu suất bộ đệm, tốt hơn là nên chuyển hướng đến phương pháp phát hiện ngôn ngữ dựa trên đường dẫn sau khi bạn đã xác định ngôn ngữ trình duyệt, chẳng hạn như với mô-đun chuyển hướng. Đối với điều này, bạn cần định cấu hình tiền tố ngôn ngữ cho tất cả các ngôn ngữ.

lá cờ uy
Cảm ơn bạn vì câu trả lời.bạn có thể vui lòng xây dựng một chút? Về cơ bản, tôi sử dụng biểu thức này không phải để chuyển hướng người dùng mà chỉ để phát hiện ngôn ngữ của anh ấy. Tôi đã có tiền tố ngôn ngữ, ví dụ /fr cho tiếng Pháp. nhưng trong customtheme.theme của tôi, tôi sử dụng nó chẳng hạn trong hook_page_attachments_alter hoặc trong mô-đun tùy chỉnh để gửi một khối cụ thể dựa trên ngôn ngữ của trang web.. Tôi sử dụng nó rất nhiều và tôi e rằng, nếu trang được lưu vào bộ nhớ cache, tất cả người dùng sẽ thấy cùng một khối trong cùng một ngôn ngữ..
4uk4 avatar
lá cờ cn
Như đã nói, đây không phải là vấn đề. Mọi thứ trên trang Drupal đều có thể dịch được, không thành vấn đề nếu bạn thêm một khối có thể dịch khác. Tất nhiên bạn không thể chuyển hướng từ hook hoặc block. Bạn cần một thuê bao sự kiện. Chuyển hướng mô-đun sẽ là một giải pháp không cần mã vì nó đã có một người đăng ký sự kiện chuyển hướng đến đường dẫn chuẩn của một trang. Điều này bao gồm tiền tố ngôn ngữ. Tiền tố cần được định cấu hình cho tất cả các ngôn ngữ, cũng là ngôn ngữ mặc định của trang web và mức độ ưu tiên trong danh sách phát hiện phải cao hơn mức phát hiện của trình duyệ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.