撇号pageBeforeSend:编辑小部件

时间:2018-02-14 15:27:25

标签: apostrophe-cms

我目前正在发现Apostrophe并尝试创建一个小部件

我很想将外部数据附加到来自mongo字段的数据中 如教程中所述,我使用pageBeforeSend(以及' super'模式)

有效。我的exernal数据可以在nunjucks中找到(通过apos.area),我可以使用它!

但是,如果我编辑我的小部件以修改somme' mongo'字段,当回来时,pageBeforeSend没有被调用,我没有我的外部数据。如果然后刷新整个页面,它将全部重新开始。

我的问题:pageBeforeSend是附加外部数据的好方法,以及如何强制小部件在退出编辑模式时调用pageBeforeSend(或其他),以便外部数据可以再次使用? / p>

我的代码:( data.my_extended将是最后一个对象数组)

construct: function(self, options) {
    let superPageBeforeSend = self.pageBeforeSend;
    self.pageBeforeSend = function(req) {
        req.data.my_extended = 'some extra information not in fields';
        return superPageBeforeSend(req, function() {
          req.data.my_extended = 'some extra information for testing';
        });
    };

提前致谢

2 个答案:

答案 0 :(得分:0)

如果您希望每次加载时窗口小部件都执行自定义操作,则可以覆盖load方法。

此SO问题包含相关的代码段

How-to access widget data in helper

答案 1 :(得分:0)

我刚刚找到了覆盖

sanitize()方法

通过能够再次附加我的extended_data来完成部分工作