2017-12-05 20 views
1

음의 링크 기능을 해결, 내가 지금 같은 menu.yaml 가지고 :액체 : 변수

entries: 
    - title: Welcome to my site 
    url:/

    - title: Über mich 
    link: about_DE.md 

    - title: About me 
    link: about_EN.md 

    - title: Parcour 
    url: /parcours/ 

당신이 볼 수 있듯이, 가끔, 때때로 페이지 이름을 명시 적 URL을 사용, 즉 직접 해결 될 수 있습니다 {% link _pages/about_DE.md %}

이제 내 문제 : 링크를 명시 적으로 작성할 수 없지만 오히려 item.link과 같은 변수를 사용해야하는 루프에서이를 수행하는 방법은 무엇입니까?

{% for item in site.data.header.entries %} 

    {% if item.link %} 
    {% link item.link %} 
    {% else %} 
    {{ item.url }} 
    {% endif %} 

액체 예외 : 문서를 찾을 수 없습니다 '{{item.link}}'태그 '링크'.

Liquid, item.link가 이미 페이지 이름임을 알 수 있습니까? 그런 다음 실제 URL로 해결 하시겠습니까? 아니면 해당하는 필터가 있습니까?

+0

나는 단순히 URL로 링크를 작성하므로 모두 동일합니다. – JoostS

+0

안녕하세요 @JoostS, 제 문제는'about_EN.md'가'seo/expert-javascript/my-hometown/ramble-tag/book-me'을 나타낼 수 있습니다 ;-) (permalink : liquid-header. ..) –

답변

0

루프의 경우 을 통과하는 동안 항목에 link이있는 경우 해당 경로가있는 모든 페이지를 살펴 봅니다. 해당 페이지가됩니다.

{% for item in site.data.menu.entries %} 
{% if item.link %} 
{% assign apost = site.pages | where:"path",item.link | first %} 
    <a href="{{apost.url}}">{{apost.title}}</a> 
{% endif %} 
{%endfor %}