Инициализирует объект списка в локальных программах в промежуточном программном обеспечении, но он не работает - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь создать объект списка Инициализировать в локальных элементах в промежуточном программном обеспечении для отображения локальных элементов в шаблоне представления индекса, но он не работает.

exports.initLocals = function (req, res, next) {

res.locals.navLinks = [
                { label: 'Home', key: 'home', href: '/' },
                { label: 'Contact', key: 'contact', href: '/contact' },
                { label: 'Products', key: 'products', href: '/products  ' },
];
res.locals.cart = keystone.session.cart;            
res.locals.user = req.user;

keystone.list('Category').model.find().sort('name').exec(function (err, results) {

    if (err || !results.length) {
        return next(err);
    }
    locals.data.categories = results;
});

next();

};

1 Ответ

0 голосов
/ 11 октября 2018

Наконец-то я нашел решение.Я сделал две ошибки.Сначала я вызвал метод next() вне области списка запросов.

Во-вторых, я неправильно ссылался на locals.categories.

//get top three category
keystone.list('Category').model.find().sort('name').limit(3).exec(function (err, results) {
    if (err || !results.length) {
        return next(err);
    } else {
            res.locals.categories = results;
                next();
            }
});
...