Javascript 撇号cms-自定义页面设置
我想将元键和元描述字段添加到页面设置对话框中,然后将它们呈现到页面中。 我能够在页面模板(html)文件中找到这样的操作:Javascript 撇号cms-自定义页面设置,javascript,apostrophe-cms,Javascript,Apostrophe Cms,我想将元键和元描述字段添加到页面设置对话框中,然后将它们呈现到页面中。 我能够在页面模板(html)文件中找到这样的操作: {%extends data.outerLayout%} {%block extraHead%} {%endblock%} 但是我如何允许最终用户插入这些值呢?好的,所以在查看演示站点后,我能够找到答案。 我在项目中的lib/modules文件夹下添加了一个名为撇号自定义页面的新文件夹,并在其中添加了一个index.js文件,如下所示: module.exports =
{%extends data.outerLayout%}
{%block extraHead%}
{%endblock%}
但是我如何允许最终用户插入这些值呢?好的,所以在查看演示站点后,我能够找到答案。 我在项目中的
lib/modules
文件夹下添加了一个名为撇号自定义页面
的新文件夹,并在其中添加了一个index.js
文件,如下所示:
module.exports = {
beforeConstruct: function(self, options) {
options.addFields = [
{
name: 'metaDescription',
label: 'Meta Description',
type: 'string'
},
{
name: 'metaTags',
label: 'Meta Tags',
type: 'string'
}
]
}
};
然后,在我的页面html模板中添加:
{% block extraHead %}
<meta name="description" content="{{ data.page.metaDescription}}" />
<meta name="tags" content="{{ data.page.metaTags}}" />
{% endblock %}
{%block extraHead%}
{%endblock%}
就这样。它起作用了。现在我可以提供搜索引擎优化支持。万岁!:) 以下是一种改进的方法:
{% block extraHead %}
<meta name="description" content="{{ data.page.metaDescription | truncate(146, true, "..") | safe }}" />
{% endblock %}
{%block extraHead%}
{%endblock%}
我们在这里所做的:
- 我们将元描述截断为特定长度(在本例中为146个字符,但您可以更改该长度)李>
- 我们加了一个漂亮的。。在谷歌搜索时习惯的结尾李>
- 我们将所有内容输出为“安全”-这负责将某些符号或字符显示为unicode/html字符串。虽然理论上它可以被滥用
请参见屏幕截图以说明最后一点:Boom!很高兴沙箱有帮助。
{% block extraHead %}
<meta name="description" content="{{ data.page.metaDescription | truncate(146, true, "..") | safe }}" />
{% endblock %}