it-swarm-ko.tech

twig 템플릿에서 원시 필드 값을 얻는 방법은 무엇입니까?

myfield는 일반 텍스트 필드입니다. {{ content.field_myfield }}는 HTML 마크 업 및 필드 레이블을 사용하여 필드를 렌더링합니다.

필드의 원시 값을 어떻게 렌더링합니까? {{ content.field_myfield.value }} 작동하지 않습니다.

28
Pim

{{ entity.field_name.value }} 실제 원시 값을 얻으려면 태그와 인코딩이 포함됩니다.

  • 예: {{ node.body.value }}
  • 결과 : <p>Batman &amp; Robin</p>

{{ content.field_name.0 }} 원시 값 빼기 태그 및 인코딩을 가져옵니다.

  • 예: {{ content.body.0 }}
  • 결과 : Batman & Robin

raw

이 필터는 특히 사용자가 입력 할 수있는 데이터를 출력하는 경우 가능하면 피해야합니다. Drupal 8의 자동 이스케이프에 대한 자세한 내용은 이 페이지 를 참조하십시오.

출처 : 필터-변수 수정 Twig 템플릿

원시 필터는 값을 "안전한"것으로 표시합니다. 즉, 자동 이스케이프가 활성화 된 환경에서이 변수 는이 변수가 이스케이프 되지 않습니다. 마지막으로 적용된 필터

출처 : Twig 's official docs




예를 들어 다음을 사용할 수 있습니다.

{{ node.body.value|striptags }}
{{ paragraph.field_text.value|striptags }}

Twig ( | striptags 사용시 문제는 마크 업이 아닌 html 엔티티의 이중 인코딩이므로 &은 (는) &amp; 그리고 &amp;amp; – Berdir

47
No Sssweat

이 경우 Twig Field Value 모듈을 사용할 수 있습니다. 이 모듈을 설치하면 필드 렌더 배열에서 부분 데이터에 액세스 할 수 있습니다. 예를 들어.

{{ content.field_name|field_value }}
content.field_image|field_target_entity.uri.value

프로젝트 페이지에 대한 추가 정보

5
Andrew Kozoriz
{{ content.body | raw }} 

twig 템플릿에서 원시 필드 값 가져 오기

2
Wasim Khan

이것이 누군가에게 도움이되는 경우, 필드 Twig 템플릿) 내에 범위의 두 부분 대신 날짜 시간 범위 필드의 시작 연도 만 표시하고 싶었습니다.

그래서 일반적인 필드 템플릿을 다음과 같이 재정의했습니다.

{% if label_hidden %}
  {% if multiple %}
    <div{{ attributes.addClass(classes, 'field--items') }}>
      {% for key, item in items %}
        <h3{{ item.attributes.addClass('field--item') }}>{{ element['#items'][key].value|date('Y') }}</h3>
      {% endfor %}
    </div>
  {% else %}
    {% for key, item in items %}
      <h3{{ attributes.addClass(classes, 'field--item') }}>{{ element['#items'][key].value|date('Y') }}</h3>
    {% endfor %}
  {% endif %}
{% else %}
  <div{{ attributes.addClass(classes) }}>
    <div{{ title_attributes.addClass(title_classes) }}>{{ label }}</div>
    {% if multiple %}
      <div class="field--items">
    {% endif %}
    {% for key, item in items %}
      <h3{{ item.attributes.addClass('field--item') }}>{{ element['#items'][key].value|date('Y') }}</h3>
    {% endfor %}
    {% if multiple %}
      </div>
    {% endif %}
  </div>
{% endif %}
0
Dave Nattriss