2013-08-01 8 views
2

Im пытается создать связанный информационный виджет, основанный на данных из передней части YAML. На каждой странице моей коллекции есть несколько связанных тегов, и идея заключалась бы в том, чтобы показывать только те страницы, у которых есть теги, общие с просматриваемой в данный момент страницей.Как фильтровать данные из цикла сбора?

мне удалось получить полные теги вывода существующих страниц с помощью следующего кода:

<section class="see-also"> 
{{#each tags}} 
    <p>In <span class="tag">{{tag}}</span>:</p> 
    {{#each pages}} 
     <li><a href="{{relative ../../page.dest dest}}">{{data.title}}</a></li> 
    {{/each}} 
{{/each}} 
</section> 

Могу ли я применить какой-то фильтр на {{#each tags}}?

Спасибо.

ответ

2

Там в inArray helper, которые вы можете использовать, чтобы проверить, если текущий тег в tags коллекции на страницы, которая в настоящее время оказывается:

<section class="see-also"> 
{{#each tags}} 
{{#inArray ../page.tags tag }} 
    <p>In <span class="tag">{{tag}}</span>:</p> 
    {{#each pages}} 
     <li><a href="{{relative ../../page.dest dest}}">{{data.title}}</a></li> 
    {{/each}} 
{{/inArray}} 
{{/each}} 
</section> 

Вы, возможно, придется изменить синтаксис родительский путь для учета дополнительного вспомогательный блок блока:

<section class="see-also"> 
{{#each tags}} 
{{#inArray ../page.tags tag }} 
    <p>In <span class="tag">{{tag}}</span>:</p> 
    {{#each ../pages}} 
     <li><a href="{{relative ../../../page.dest ../dest}}">{{../data.title}}</a></li> 
    {{/each}} 
{{/inArray}} 
{{/each}} 
</section> 
Смежные вопросы