>

여러 콘텐츠 유형을 표시하는보기가 있으므로 "views-view--myview.html.twig"에서 만든 일부 사용자 정의 메뉴 항목을 필터링해야합니다. 현재보기.

xdebug를 사용했지만 내보기에서 컨텐츠 유형 머신 이름을 인쇄 할 수 없습니다 (라벨이 아닌 컨텐츠 유형 머신 이름이 필요합니다!)

views-view-fields 템플릿에서는 그렇게하고 싶지 않습니다.

내 질문은 : views-view.html.twig 파일에서 컨텐츠 유형 (뷰에 표시)을 어떻게 얻을 수 있습니까?

전처리 기능이 있다면 나에게도 도움이 될 것이다!


  • 답변 # 1

    views-view.html.twig에서 또는views-view--myview.html.twig와 같은 재정의 된 나뭇 가지에서 다음을 수행 할 수 있습니다

    첫 번째 행 엔터티 제목 가져 오기

    {{rows[0]['#rows'][0]['#row']._entity.getTitle()}}
    
    

    첫 행 엔터티 유형/번들 가져 오기

    {{rows[0]['#rows'][0]['#row']._entity.bundle()}}
    
    

    그래서 모든 행에 액세스하려면 아마도 루프가 필요할 것입니다 다음은 각 행의 엔티티 유형/번들을 확인합니다

    {% for row in rows[0]['#rows'] %}  
        {% if row['#row']._entity.bundle() == 'page' %}
          <div>its a page</div>
        {% endif %}
    {% endfor %}
    
    

    하지만 뷰의 개별 행을 수정하기에 가장 좋은 곳은views-view-unformatted.html.twig또는views-view-unformatted와 같은 뷰의 특정 표시 내에있는 것입니다. --myview.html.twig

    비교를 위해 위와 같이 제목과 유형/번들 및 행을 반복합니다

    {{rows[0]['content']['#row']._entity.getTitle()}}
    {{rows[0]['content']['#row']._entity.bundle()}}
    {% for row in rows %}
      {% if row['content']['#row']._entity.bundle() == 'page' %}
        <div>its a page</div>
      {% endif %}
    {% endfor %}
    
    

  • 이전 sqlite - 장고는 쿼리 세트를 반복 할 때 언제 DB 읽기가 발생합니까?
  • 다음 Python에서 MySQL 삽입 명령문이 작동하지 않습니다