Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 撇号cms-自定义页面设置_Javascript_Apostrophe Cms - Fatal编程技术网

Javascript 撇号cms-自定义页面设置

Javascript 撇号cms-自定义页面设置,javascript,apostrophe-cms,Javascript,Apostrophe Cms,我想将元键和元描述字段添加到页面设置对话框中,然后将它们呈现到页面中。 我能够在页面模板(html)文件中找到这样的操作: {%extends data.outerLayout%} {%block extraHead%} {%endblock%} 但是我如何允许最终用户插入这些值呢?好的,所以在查看演示站点后,我能够找到答案。 我在项目中的lib/modules文件夹下添加了一个名为撇号自定义页面的新文件夹,并在其中添加了一个index.js文件,如下所示: module.exports =

我想将元键和元描述字段添加到页面设置对话框中,然后将它们呈现到页面中。 我能够在页面模板(html)文件中找到这样的操作:

{%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 %}