Добрый день! Извините за дилетантский вопрос. Подскажите, пожалуйста (или подскажите, где посмотреть), как вывести повторяющиеся элементы блока (см. код).
Необходимо в блоке вывести один раз title и три раза пару элементов year и university.
На странице должно быть так:
ОБРАЗОВАНИЕ 2000 - институт 1999 - институт 1998 - институт
Если добавить элементы, например, так:
sections: [
{
title: 'ОБРАЗОВАНИЕ',
year: '2000 — ',
university: 'институт',
year: '1999 — ',
university: 'институт',
year: '1998 — ',
university: 'институт'
}
]
выводится только последняя пара year и university.
index.bemjson.js:
//...
content: [
{ block : 'name',
content : 'имя'
},
{
block: 'sections',
sections: [
{
title: 'ОБРАЗОВАНИЕ',
year: '2000 — ',
university: 'институт'
}
]
}
]
//...
sections.bemhtml:
block('sections')(
tag()('div'),
content()(function() {
return this.ctx.sections.map(function(item){
return [
{
elem: 'item',
content: [
{
elem: 'title',
content: item.title
},
{
elem: 'year',
content: item.year
},
{
elem: 'university',
content: item.university
}
]
},
' '
];
});
}),
elem('item')(
tag()('div')
),
elem('title')(
tag()('h3')
),
elem('year')(
tag()('span')
),
elem('university')(
tag()('span')
)
);
Я бы предложил оставить всю историю про построение дерева в BEMJSON:
Но если очень хочется унести в шаблоны, то можно сделать как-то так: BEMJSON
BEMHTML
PS: нет необходимости писать
tag()('div')
— это значение по умолчанию.Спасибо большое! Попробую.