Closed Mr-Robby closed 9 years ago
@Mr-Robby предположительно используется старая версия bem-xjst
и/или базовых шаблонов.
Я взял актуальную версию project-stub
и на ней данный код генерирует:
<div class="page-part">{% if blabla !=2 %}<div class="tatata">{% if tata == 3 %}Hello!{% endif %}</div>{% endif %}</div>
PS: Шаблон можно сократить до:
block('liquid-if')(
bem()(false),
match(function() { return this.ctx.conditions; })(
def()(function() {
var conds = this.ctx.conditions;
return applyCtx(conds.map(function(item, i) {
return [
typeof(conds[i].condition) !== 'undefined' ?
'{% ' + (i !== 0 ? 'else' : '') + 'if '+ conds[i].condition +' %}' :
'{% else %}',
conds[i].content
];
}).concat('{% endif %}'));
})
)
);
@tadatuta, спасибо большое! Всего лишь нужно было обновить bem-core с v2.6.0 до v2.7.0 :)
Здравствуйте. Имеется вот такой bemjson:
Его обрабатывает вот такой bemhtml:
На выходе получаем такой html:
Вопрос: из-за чего вложенный блок не применяет шаблон по моде default, хотя
bem()(false)
отрабатывает?