bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

Оборачивать элементы #494

Open katamason opened 9 years ago

katamason commented 9 years ago

Добрый день, я еще новенький в бэме, но подскажите, как вы оборачиваете, строите колонки из элементов на уровне bemhtml ? Поясню о чем я, например, пришел блок в bemjson:

{
    block: 'bootm',
    blk: [
        {
            inpval: '444',
            logo: '../../common.blocks/index/images/logo.png',
            url: '/',
            bagvar: '143',
            элем2: 'что то тут',
            элем3: 'что то тут'
        }
    ]
}

Вот если такой разметки будет мало:

elem('item')(
    tag()('li')
),
elem('title')(
    tag()('h3')
)

И тут мне, как бедному верстальщику, нужно из этих данных средствами bemhtml сделать раскрасивую конфетку, с колоночками, row' ами небольшими обертками, одним словом кастомную разметку на выходе, далекую от бутстрапа, вот тут и прошу совета в двух словах.

tadatuta commented 9 years ago

Привет!

Я не осилил угадать, что именно хочется получить из исходного BEMJSON, но попробую что-нибудь нафантазировать:

block('bootm').content()(function() {
    var data = this.ctx. blk[0];

    return [
        {
            block: 'layout',
            content: [
                {
                    elem: 'row',
                    content: [
                        {
                            elem: 'cell',
                            content: { block: 'input', val: data.impval }
                        },
                        {
                            elem: 'cell',
                            content: { block: 'logo', url: data.url }
                        },
                        {
                            elem: 'cell',
                            content: bagvar
                        }
                    ]
                }
            ]
        }

    ];
});

Но в целом исходный BEMJSON кажется каким-то странным и если есть возможно его порефакторить, это стоит сделать.

Если можешь подробно рассказать про задачу, показать исходные данные и макеты, попробую с этим помочь.