【发布时间】:2018-01-24 22:42:23
【问题描述】:
我正在尝试提取我在具有数组字段类型的适当区域中创建的自定义全局设置。
我想将全局设置拉入博客模块以构建一个字段以添加到博客类型。我尝试按照教程文档中的描述使用撇号模型层和 mongo db 集合,但看起来那些需要一些req 交互或self.method 才能正确触发,我认为@987654323 中没有这些@函数。
// This would ideally be a data.global.arrayField
var optionArraySet = ['Item 1', 'Item 2', 'Item 3'];
var formattedArraySet = [];
for (var type in optionArraySet) {
formattedArraySet.push({
label: optionArraySet[type],
value: optionArraySet[type]
})
}
options.addFields = [
{
label: 'Custom Array Field',
name: 'customArrayField',
type: 'select',
choices: formattedArraySet
}
].concat(options.addFields || [])
所以optionArraySet 最好是通过包含我要访问的数据数组的全局设置。
对于上下文,这个全局设置将应用于几个不同的区域,如果我们想更改值,我不必更新后端的代码,我可以将新值添加到全局设置中的数组集并让前端页面更新其显示,并在适当的部分更新设置字段。
如果这有帮助,我基本上是在尝试控制内容编辑器可以在特定片段类型上选择的标签,以便他们无法输入不需要的标签。
construct: function(self, options) {
self.beforeSave = function(req, piece, options, callback) {
var newTags = [];
newTags.push(piece.anotherFieldValue);
var customArrayField = piece.customArrayField;
for (var option in customArrayField) {
newTags.push(customArrayField[option]);
}
piece.tags = newTags;
return callback();
};
}
谢谢
【问题讨论】:
标签: javascript mongodb apostrophe-cms