2017-06-27 4 views
1

ich habe die folgenden Dateien:Jekyll Flüssigkeit Vorlage: Verwenden Sie Variable von Layout-in Seite

_layouts/twoPointLayout.html

--- 
layout: documentationLayout 
--- 
{% assign col = site.interfaceServer | where:"neededTopCollectionItem", page.topCollectionItem | sort: "order" %} 

<ol class="breadcrumb"> 
    <li><a href="{{ col[0].url }}">{{ col[0].title }}</a></li> 
    <li class="active">{{ page.title }}</li> 
</ol> 

<h3>{{ col[0].order }}.{{ page.order }} {{ page.title }}</h3> 
{{ content }} 

someFile.md

--- 
title: "Some title" 
identifier: hints 
order: 3 
orderPagination: 24 
layout: twoPointLayout 
topCollectionItem: xyz 
neededTopCollectionItem: xyz_hints 
--- 
{% assign items = site.interfaceServer | where:"topCollectionItem", "xdt-documentation_hints" | sort: "order" %} 
{{ page.col[0].order }} // This doesn`t work 

{% for item in items %} 
    <h4 id="{{ item.identifier }}"><a href="{{ item.url }}">{{ col[0].order }}.{{ page.order }}.{{ item.order }} {{ item.title }}</a></h4> 
{% endfor %} 

In Im Layout twoPointLayout.html gibt es eine Variablendeklaration von col. Jetzt muss ich diese Variable mit dem gleichen Inhalt auf der Seite someFile.md verwenden.

Ich habe page.col[0].order verwendet, um auf die Variable zuzugreifen, aber es funktioniert nicht.

Wie kann ich auf die Variable zugreifen?

Antwort

2

können Sie setzen die Variable außerhalb des Layout und Pfosten, und include es dann, wenn Sie es brauchen:

Neues umfassen in _includes/customdata.html:

{% assign col = site.interfaceServer | where:"neededTopCollectionItem", page.topCollectionItem | sort: "order" %} 

Dann ist es in someFile.md umfassen:

{%include customdata.html %} 
{{col}} 

oder im Layout.

Verwandte Themen