Каждый блок имеет модификатор theme. И во всех примерах он пишется непосредственно к блоку
{
block: 'button',
mods: {type: 'submit', theme: 'islands', size: 'l'},
text: 'Search'
}
Хочу чтобы все контролы в проекте получили тему islands по умолчанию. Как это сделать?
При использовании шаблонов можно сделать что-то вроде
Я все еще пользуюсь dist-сборкой. Куда мне это написать?
Например, что нужно добавить в этот fiddle: http://jsfiddle.net/z1cLLt4w/9/
Например, можно в postcss оторвать тему совсем и не задавать её в HTML.
@vithar а что делать если css грузится с yastatic, как в fiddle?
твой шаблонизатор не может проставлять дополнительные классы?
@tadatuta я пользуюсь Handlebars. Куда и как он должен проставлять дополнительные классы?
Еще у меня есть хелпер
renderBemМогу в него добавить принудительное выставление theme для bemjson: http://jsfiddle.net/z1cLLt4w/12/
Но я не уверен, что так делать правильно
Твой вариант с
renderBemвполне годный.@tadatuta на самом деле нет, потому что он не работает, если у блока в
contentбудут другие блоки.Может есть способ зарегистрировать общий шаблон из этого коммента?
Для диста такая возможность появится после https://github.com/bem/bem-components/issues/1691 (задачу планирую сделать на этой неделе, версию выпустим в обозримом будущем).
@tadatuta добрый день!
Issue по ссылке уже закрыта, в этой задаче что-нибудь поменялось?
@just-boris Ага, прости, что сразу не отписался :(
http://jsfiddle.net/tadatuta/cgx2dz84/1/
@tadatuta спасибо!
Я правильно понимаю что match всех блоков по
*работает только в bemhtml?А в bh это возможно?
Кажется, https://github.com/bem/bh/blob/master/lib/bh.js#L687-L698 должно помочь.
Помогло. Последний вопрос: правильно ли я делаю, чтобы модификатор ставился только для блока, без элементов?
да, в
bem-componentsтема указывается только блокамВопрос решен. Спасибо за советы!