Войти с помощью github
Форум /

Здравствуйте. Есть блок с названием 'secondary-menu-bottom'. У него есть блок 'menu' с массивом 'items' и контент из одного item. Задача: Необходимо в шаблоне "смапить" массив items, до первого item-a, который уже существует в content. ApplyNext() почему то отказывается работать в связке c map. Если убрать map и оставить ApplyNext() - ошибок не будет. И аналогично с комментированием ApplyNext() - map сделает своё дело Ошибка: TypeError: Cannot read property 'map' of undefined

/ secondary-menu-bottom.bemjson.js /

module.exports = {
    block: 'secondary-menu-bottom',
    content: {
        block: 'menu',
        content: [
            {
                elem: 'item',
                content: include('desktop.blocks/more/more.bemjson.js')
            }
        ],
        items: [
            {
                url: '/',
                title: 'Все рецепты'
            },
            {
                url: '/',
                title: 'Салаты и закуски'
            }
        ]
    }
};

/ secondary-menu-bottom.bemhtml.js /

block('secondary-menu-bottom').extend()({ _inSecondaryMenuBottom: true });

block('menu').match(function() { return this._inSecondaryMenuBottom; })(
    content()(function() {
        return [
            this.ctx.items.map(function(item) {
                return {
                    elem: 'item',
                    content: { block: 'link', url: item.url, content: item.title }
                };
            }),
            applyNext()
        ]
    })
);