Điểm:0

Không thể kiểm tra xem biến có trống trong chế độ xem twig không

lá cờ in
Lub

Tôi đang cố ghi đè lên lượt xem-xem-unformatted.html.twig tập tin và muốn kiểm tra xem Tiêu đề Biến đổi trống rỗng hay không, nhưng bất cứ điều gì tôi làm, nó luôn hoạt động như vậy không trống.

Tôi biết biến tiêu đề là một đối tượng, tôi đã thử dpm() nó nhưng không có công cụ sửa đổi nào hoạt động để kiểm tra xem nó có trống không.

Mã của tôi:

{#
/**
 * @tập tin
 * Triển khai chủ đề mặc định để hiển thị chế độ xem các hàng chưa được định dạng.
 *
 * Các biến có sẵn:
 * - tiêu đề: Tiêu đề của nhóm hàng này. Có thể trống.
 * - rows: Danh sách các mục hàng của dạng xem.
 * - thuộc tính: Thuộc tính HTML của hàng.
 * - nội dung: Nội dung của hàng.
 * - view: Đối tượng view.
 * - default_row_class: Cờ cho biết liệu các lớp mặc định có nên
 * được sử dụng trên các hàng.
 *
 * @see template_pre process_views_view_unformatted()
 *
 * @ingroup theo chủ đề
 */
#}
{{ dpm(title) }}
{% if title|render|trim|length không trống %}

{% set row_id = 1 %}

{% cho khóa, hàng trong hàng %}
    {% set row_id = key+1 %}
{% endfor %}
<a data-toggle="collapse" href="#collapse-{{ row_id }}" role="button" aria-expanded="false" aria-controls="collapse-{{ row_id }}">
  <h3>{{ title }}</h3>
</a>
<div class="collapse" id="collapse-{{ row_id }}">
{% endif %}
{% cho hàng trong hàng %}
  {%
    đặt row_classes = [
      default_row_class ? 'lượt xem-hàng lượt xem-hàng-' ~ loop.index
    ]
  %}
  <div{{ row.attributes.addClass(row_classes) }}>
    {{- row.content -}}
  </div>
{% endfor %}
{% if title|render|trim|length không trống %}
</div>
{% endif %}
Smartsheet eng avatar
lá cờ um
https://www.drupal.org/project/twig_capture có liên quan.
Điểm:1
lá cờ in

{% if title|render|striptags|trim %} nên làm việc.

  1. tiêu đề|kết xuất để kết xuất, tức làchuyển đổi từ mảng kết xuất thành chuỗi html.
  2. |thẻ thoát y để xóa bất kỳ thẻ html nào khỏi tiêu đề được hiển thị.
  3. |cắt để xóa bất kỳ khoảng trắng nào từ đầu và cuối.

Nếu Tiêu đề đã là một chuỗi html (nghĩa là không phải là mảng kết xuất) thì bạn có thể bỏ qua |kết xuất{% if title|striptags|trim %} nên đủ tốt.

sonfd avatar
lá cờ in
Mặc dù bạn cần phải sử dụng `|length` nếu tiêu đề của bạn có thể là chuỗi "0" theo nghĩa đen. Xem [tài liệu twig if](https://twig.symfony.com/doc/3.x/tags/if.html) để biết các trường hợp twig bool edge khác.
Điểm:0
lá cờ in
Lub

Được rồi, vì vậy có vẻ như điều này hoạt động:

{% if title|trim|spaceless|striptags|length != 0 %}

Trông cực kỳ ngu ngốc nhưng cũng ...

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