Điểm:0

Phần giữa của trang biến mất và xuất hiện lại sau khi xóa tất cả bộ đệm

lá cờ cn

Đôi khi phần giữa của một số trang tại trang web của chúng tôi có thể biến mất và chỉ có đầu trang và chân trang vẫn được hiển thị.Sự cố luôn được giải quyết sau khi xóa tất cả bộ đệm.

Của chúng ta html.html.twig tải các mẫu theo cách như

{% bao gồm '@themename/header.html.twig' %}
{{ trang }}
{% bao gồm '@themename/footer.html.twig' %}

Và của chúng tôi trang.html.twig tải một mẫu thích hợp phụ thuộc vào đường dẫn trang như

{% đặt đường dẫn = đường dẫn ('<hiện tại>') %}
{% set pagePath = path|render|render %}
{% nếu pagePath == '/node' %} {# nếu trang chủ #}
{% bao gồm '@themename/homepage.html.twig' %}
{% khác %}
{% bao gồm '@themename/innerpage.html.twig' %}
{% endif %}

Chúng tôi không rành về bộ nhớ đệm Drupal nên chúng tôi không biết chính xác vấn đề liên quan đến bộ nhớ đệm như thế nào. Có lẽ nó liên quan bằng cách nào đó để kết xuất bộ nhớ cache? Như chúng tôi sử dụng đường dẫn | kết xuất | kết xuất trong chúng tôi trang.html.twig. Hoặc có thể nó liên quan bằng cách nào đó đến index.php đôi khi xuất hiện trong thanh địa chỉ?

sonfd avatar
lá cờ in
Đã có một mẫu / đề xuất `page--front.html.twig` mà bạn có thể sử dụng để chỉ nhắm mục tiêu trang đầu (bất kỳ thứ gì nó được đặt thành trên trang cấu hình Cài đặt Trang web Cơ bản). Sử dụng cái đó để thay thế.
Điểm:1
lá cờ cn

Mẫu trang liệt kê bên dưới Biến tiện ích chung is_front Biến đổi:

{% nếu is_front %}
  {% bao gồm '@themename/homepage.html.twig' %}
{% khác %}
  {% bao gồm '@themename/innerpage.html.twig' %}        
{% endif %}

Điều này sẽ giải quyết được vấn đề, ngay cả khi bạn truy cập trang bằng các URL khác nhau. Bạn cũng có thể tránh điều đó, mô-đun chuyển hướng chuyển hướng các đường dẫn khác nhau có sẵn của một trang sang một trang chuẩn. Sau đó, điều kiện dựa trên đường dẫn sẽ có thể dự đoán được, vì vậy đây sẽ là cách thứ hai để giải quyết vấn đề.

lá cờ cn
Nếu tôi thử `{% if is_front %}`, tôi gặp lỗi `Twig\Error\SyntaxError: Thẻ "is_front" không xác định. trong Twig\Parser->subparse()`
lá cờ cn
Tôi đã thêm dòng `$vars['is_front'] = \Drupal::service('path.matcher')->isFrontPage();` vào chức năng `themename_pre process_page()` của mình và giờ nó đã hoạt động
4uk4 avatar
lá cờ cn
Lạ thật, biến này đã có sẵn trong lõi. Xem [template_pre process_page](https://api.drupal.org/api/drupal/core%21includes%21theme.inc/function/template_pre process_page)
lá cờ cn
Bạn có nghĩa là trong phiên bản 9.x? Chúng tôi sử dụng 8.x, tôi chỉ chỉ định nó làm thẻ của câu hỏi, xin lỗi
4uk4 avatar
lá cờ cn
Tương tự cho 8.x. Xem https://api.drupal.org/api/drupal/core%21includes%21theme.inc/function/template_pre process_page/8.9.x

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