我想将元键和元描述字段添加到页面设置对话框,然后将它们渲染到页面。 我能够发现在页面模板(html)文件中可以做这样的事情:
{% extends data.outerLayout %}
{% block extraHead %}
<meta name="description" content="this is the page description" />
{% endblock %}
但是如何让最终用户插入这些值?
答案 0 :(得分:3)
好的,所以在查看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支持。欢呼! :)
答案 1 :(得分:0)
这是一种改进的方法:
{% block extraHead %}
<meta name="description" content="{{ data.page.metaDescription | truncate(146, true, "..") | safe }}" />
{% endblock %}