在模板中获取小部件选项
Get widget options in template
我知道可以为 index.js
添加别名,但这是 not recommended for NPM modules。
那么,如何将 JavaScript 变量(例如 options
对象)传递给 Nunjucks 模板?
data.widget
只包含一个id
、type
和editable
。奇怪的是,它不包含 label
.
index.js
module.exports = {
extend: 'apostrophe-widgets',
label: 'Privacy Cookie Widget',
[...]
}
widget.html
<div class="[...]-widget">
[...]
{{ data.widget.label }} <!-- Nothing. -->
[...]
</div>
home.html
[...]
{{ apos.singleton(data.[global|page], 'widgetName', 'widget-name', {}) }}
[...]
从模板中,您可以像这样获取小部件根选项配置
{{ apos.log(apos.modules['my-cool-widgets'].options.coolStuff) }}
其中 coolStuff
定义在 my-cool-widgets/index.js
module.exports = {
extend: 'apostrophe-widgets',
label: 'Cool Widg',
coolStuff: {
array: [1,2,3,4],
hello: 'boom boom',
hehe: true
},
addFields: [...]
};
我知道可以为 index.js
添加别名,但这是 not recommended for NPM modules。
那么,如何将 JavaScript 变量(例如 options
对象)传递给 Nunjucks 模板?
data.widget
只包含一个id
、type
和editable
。奇怪的是,它不包含 label
.
index.js
module.exports = {
extend: 'apostrophe-widgets',
label: 'Privacy Cookie Widget',
[...]
}
widget.html
<div class="[...]-widget">
[...]
{{ data.widget.label }} <!-- Nothing. -->
[...]
</div>
home.html
[...]
{{ apos.singleton(data.[global|page], 'widgetName', 'widget-name', {}) }}
[...]
从模板中,您可以像这样获取小部件根选项配置
{{ apos.log(apos.modules['my-cool-widgets'].options.coolStuff) }}
其中 coolStuff
定义在 my-cool-widgets/index.js
module.exports = {
extend: 'apostrophe-widgets',
label: 'Cool Widg',
coolStuff: {
array: [1,2,3,4],
hello: 'boom boom',
hehe: true
},
addFields: [...]
};