如何根据用户的选择设置pussh? [撇号cms]

时间:2018-04-12 07:21:22

标签: apostrophe-cms

我正面临着撇号的新问题。 根据我的选择,我应该如何在构造方法中将js资产推送到浏览器?

这是一个例子。

module.exports = {
name: 'lionjar-countdown-page',
label: 'Timer Page',
extend: 'apostrophe-pieces-pages',
addFields: [{
        name: 'bckImageTimer',
        label: 'Image de background',
        type: 'singleton',
        widgetType: 'apostrophe-images',
        options: {
            limit: 1,
            aspectRatio: [1, 1]
        }
    },
    {
        name: 'timerType',
        label: "Sélectionnez l'animation d'arrière plan",
        type: 'select',
        choices: [
            { label: 'Aucune animation', value: '0', },
            { label: 'Particules légères', value: '1', },
            { label: 'Particules liées', value: '2', },
        ]
    },
    {
        name: 'timerHideNavigation',
        label: 'Masquer la navigation',
        type: 'boolean',
        help: "Masque le logo ainsi que les éléments de navigation"
    },
],
afterConstruct: function(self) {
    //console.log(self)
    //self.pageBeforeSend();
},
construct: function(self, options) {

    /*self.pageBeforeSend = function(req, callback) {
        // Careful, there isn't always a page object; we could be
        // rendering /login for instance
        if (req.data.page.timerType.length > 0) {
            //console.log(req.data.page.timerType);
            //
        }

        //console.log(req.data.page);
        return callback(null);
    };*/
    self.pushAsset('script', 'magic.min', { when: 'always' });
    self.pushAsset('script', 'magic2.min', { when: 'always' });
    self.pushAsset('stylesheet', 'always', { when: 'always' });

}

};

在我的self.pageBeforeSend()中,我得到了我的"用户"选择 : req.data.page.timerType

如果它的值为1,我想推送此文件:self.pushAsset(' script',' magic.min',{when:' always&#39 ;});

当我尝试在self.pageBeforeSend()中推送它时,日志显示将文件推送到前端已经太晚了。

我在撇号文档中看到过,我可以使用{when:....}在我的pushasset方法中添加args,但我不明白这是不是正确的方法以及如何做它

任何人都可以告诉我(如果有可能的话)

谢谢,

法比安

0 个答案:

没有答案