2017-11-15 17 views
1

Grav를 사용하여 다음 웹 사이트를 만들면서 실험하고 있습니다. 내가 할 수있는 일 중 하나는 템플릿을 사용하는 Grav 페이지에서 Grav frontmatter에 제공된 데이터를 사용하여 정렬되지 않은 목록을 만드는 것입니다. 여기에 내가이Twig를 통해 목록 항목 콘텐츠 파싱 및 사용

--- 
sectionone: 
    listitems: "['Benefit 1','Benefit 2','Benefit 3']" 
--- 

을하려고하고 다음 템플릿에 어떻게 든 그러나 다음

{% block featurelist %} 
<ul> 
{% set items = {{page.header.sectionone.consumers.benefits|json_decode}} %} 
{% for item in {{}} %} 
<li>{{item}}</li> 
{% endfor %} 
</ul> 
{% endblock %} 

수행 나뭇 가지가 다시

의 라인을 따라 오류가이 보고서를 좋아하지 않는 방법입니다

Twig_Error_Syntax 해시 키해야 인용 된 문자열, 숫자, 이름, 또는 "{"가치 (괄호에 예기치 않은 토큰 "구두점"하위 표현을합니다.

오프 라인이 내 {% set items = ... } 문입니다. 나는 명확하게 여기에서 무언가를하고있다. 그러나 나는 그 것이 무엇이 었는지에 관해 아는 것이없는 나뭇 가지 초보자 다. 희망을 갖고 여기 누군가가 도울 수 있기를 바랍니다.

+0

왜이 용도로 JSON을 사용하려고합니까? YAML을 사용하는 것이 더 합리적이지 않습니까? – Jacobm001

+0

또한 YAML 구조와 나뭇 가지 참조가 일치하지 않는다는 것을 알고 있습니까? – Jacobm001

답변

1

나는 이것을 결국 알아 냈습니다. Grav 문서화는 대단히 훌륭합니다. 그러나 page headers/frontmatter의 설명서는 다소 불완전한 것으로 보입니다. 프론트 미터 프로세서가 이해하는 전체 구문에 대한 완전한 설명은 없습니다. 전면에 배열을 정의하려면 다음을 수행해야합니다.

--- 
sectionone: 
benefits: 
    - 'Benefit 1' 
    - 'Benefit 2' 
    - ... 
--- 

본질적으로 정렬되지 않은 목록에 대한 표준 마크 다운 구문입니다. Grav의 잔가지 프로세서가 이것을 PHP 배열로 변환하는 것으로 보입니다. 구문 분석은 필요하지 않습니다!

+0

이 YAML 구조에 대한 Twig 템플릿 코드를 포함시켜 주시겠습니까? –

1
{% block featurelist %} 
<ul> 
    {% set items = page.header.sectionone.consumers.benefits|json_decode %} 
    {% for item in items %} 
     <li>{{item}}</li> 
    {% endfor %} 
</ul> 
{% endblock %}