【问题标题】:apostrophe cms - customize page settings撇号 cms - 自定义页面设置
【发布时间】:2017-03-02 19:13:44
【问题描述】:

我想将元键和元描述字段添加到页面设置对话框,然后将它们呈现到页面。 我发现可以在页面模板(html)文件中做这样的事情:

{% extends data.outerLayout %}
{% block extraHead %}
    <meta name="description" content="this is the page description" />
{% endblock %}

但我如何允许最终用户插入这些值?

【问题讨论】:

    标签: javascript apostrophe-cms


    【解决方案1】:

    好的,所以在查看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 支持。欢呼! :)

    【讨论】:

    • 轰隆隆!很高兴沙盒有帮助。
    【解决方案2】:

    这是一种改进的方法:

    {% block extraHead %}
     <meta name="description" content="{{ data.page.metaDescription | truncate(146, true, "..") | safe }}" />
    {% endblock %}
    

    我们在这里做了什么:

    • 我们将元描述截断为特定长度(在本例中为 146 个字符,但您可以更改);
    • 我们在结尾处添加了一个很好的 ..,这是人们在谷歌搜索时所习惯的;
    • 我们将所有内容输出为“安全” - 这负责将某些符号或字符显示为 unicode / html 字符串。虽然理论上它可以被滥用。

    看截图说明最后一点:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多