Как получить доступ к данным, сохраненным в виджете апостроф? - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть следующий виджет:

module.exports = {
    extend: 'apostrophe-widgets',
    name: 'navigation',
    label:'Navigation',
    addFields: [
        {
            name: 'logo',
            label: 'Logo',
            type: 'singleton',
            widgetType: 'apostrophe-images',
            options: {
                limit: 1,
            }
        },
        {
            name: 'menuPoints',
            label: 'Menu Points',
            type: 'area',
            options: {
                widgets: {
                    'menu': {}
                }
            }
        },
    ],
    construct: function (self, options) {
        const superLoad = self.load;
        self.load = (req, widgets, callback) => superLoad(req, widgets, (err) => {
            if (err) {
                return callback(err);
            }

            for (const widget of widgets) {
                widget.url = req.url.substr(3);
            }

            return callback(null);
        });
    }
}

Это виджет навигации, который позволяет пользователям заполнять заголовок пунктами меню с помощью другого виджета, menu-widget.

Как сделатьЯ отображаю данные, сохраненные в нескольких 'menuPoints', в моем шаблоне виджетов?

Я пытался выполнить итерацию, используя {% for menuPoint in data.widget.menuPoints %}, но не смог.

1 Ответ

0 голосов
/ 27 сентября 2019

, если menuPoints - это область, то это будет более сложный объект, чем просто массив данных.Я бы порекомендовал выйти из объекта и пройти через него, чтобы найти то, что вы хотите.

в вашем шаблоне nunjucks вы можете использовать apos.log, чтобы начать регистрировать вещи на сервере

apos.log(data.widget.menuPoints)

Вам, вероятно, придется выходить из системы несколько раз, когда вы проходите через объект.

...