如何在 Apostrophe CMS 中定义具有默认值的小部件
How to define widgets with default values in Apostrophe CMS
我想添加一个无法从页面中删除的小部件,并在未明确定义时包含一些默认文本。
我认为它应该像这样工作:
{{
apos.singleton(data.page, 'headerTitle', 'apostrophe-rich-text', {
def: 'Default Title'
})
}}
有没有什么方法可以使用撇号小部件来实现这一点,或者我应该创建一个自定义小部件?
在 Apostrophe 中创建您自己的小部件是非常标准的做法,但它没有说明如果单例中还没有小部件该怎么做。
您可以像这样禁用删除单例:
{{
apos.singleton(data.page, 'headerTitle', 'apostrophe-rich-text', {
controls: {
removable: false,
movable: false
}
})
}}
然而,编辑者仍然需要单击以最初将小部件添加到每个页面的页面。
所以使用这种技术来提供默认标记:
{% if apos.areas.isEmpty(data.page, 'headerTitle') %}
<h4>Default Title</h4>
{% endif %}
{{
apos.singleton(data.page, 'headerTitle', 'apostrophe-rich-text', {
controls: {
removable: false,
movable: false
}
})
}}
我想添加一个无法从页面中删除的小部件,并在未明确定义时包含一些默认文本。 我认为它应该像这样工作:
{{
apos.singleton(data.page, 'headerTitle', 'apostrophe-rich-text', {
def: 'Default Title'
})
}}
有没有什么方法可以使用撇号小部件来实现这一点,或者我应该创建一个自定义小部件?
在 Apostrophe 中创建您自己的小部件是非常标准的做法,但它没有说明如果单例中还没有小部件该怎么做。
您可以像这样禁用删除单例:
{{
apos.singleton(data.page, 'headerTitle', 'apostrophe-rich-text', {
controls: {
removable: false,
movable: false
}
})
}}
然而,编辑者仍然需要单击以最初将小部件添加到每个页面的页面。
所以使用这种技术来提供默认标记:
{% if apos.areas.isEmpty(data.page, 'headerTitle') %}
<h4>Default Title</h4>
{% endif %}
{{
apos.singleton(data.page, 'headerTitle', 'apostrophe-rich-text', {
controls: {
removable: false,
movable: false
}
})
}}