2017-03-22 3 views
1

올바르게 작동하는 _data 폴더에 일부 데이터를 만들었습니다. 나는 그것을 사용하여 네비게이션 시스템을 만든다. 내 데이터 파일 elements.yml에서데이터 기반 탐색에서 활성 클래스 설정

:

- name: design-elements 

- name: ui-components 

- name: helper-classes 

내 간단한 탐색을 위해 본인은 page.url == {{data.name}} 경우 active 클래스를 추가 할 수 있습니다. 나는이 같은 것을 쓰고 있어요 :

{% for element in site.data.elements %} <li {% if page.url == '/{{ element.name }}.html' %} class="active"{% endif %}>

그것은 결코 사실로 확인, 내 페이지 탐색이 {{element.name}} 같은 경우에도. 나는 다음과 같이 명시 적으로 작성하는 경우

그것은 작동합니다

<li {% if page.url == '/design-elements.html' %} class="active"{% endif %}>

내가 왜 이런 일 모르겠습니다.

답변

2

{{}} 내부 {%%}이 작동하지 않습니다.

그래서이 :

<li {% if page.url == '/{{ element.name }}.html' %} class="active"{% endif %}> 

는 그들없이 다시 작성해야합니다. 이 경우 나는 capture 태그를 사용하지만 그것은 또한 새로운 문자열로 결과 URL을 할당 할 수 후 비교 :

{% capture new_url %}/{{element.name}}.html{% endcapture %} 
<li {% if page.url == new_url %} class="active"{% endif %}> 
+0

이 완벽하게 작동하지만, 지금은 그것을 사용하여 수행 할 수 있는지 궁금'지정 ', 당신이 언급 한 것처럼. – justinw

+1

@justinw는 append 같은 것을 사용합니다 : {% assign newurl = '/'| append : element.name | append : '. html'%} – marcanuy

+0

네, 그게 효과가 있습니다. 따라와 주셔서 감사합니다! – justinw

관련 문제