我想将元键和元描述字段添加到页面设置对话框,然后将它们呈现到页面。我发现可以在页面模板(html)文件中做这样的事情:
{% extends data.outerLayout %}
{% block extraHead %}
<meta name="description" content="this is the page description" />
{% endblock %}
但是我如何允许最终用户插入这些值?
我想将元键和元描述字段添加到页面设置对话框,然后将它们呈现到页面。我发现可以在页面模板(html)文件中做这样的事情:
{% extends data.outerLayout %}
{% block extraHead %}
<meta name="description" content="this is the page description" />
{% endblock %}
但是我如何允许最终用户插入这些值?
好的,所以在查看apostrophe-sandbox演示站点后,我能够找到答案。我lib/modules
在项目的文件夹下添加了一个名为 的新文件夹apostrophe-custom-pages
,并在其中添加了一个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 %}
就是这样。有用。现在我可以提供 SEO 支持。欢呼!:)
这是一种改进的方法:
{% block extraHead %}
<meta name="description" content="{{ data.page.metaDescription | truncate(146, true, "..") | safe }}" />
{% endblock %}