【问题标题】:Apostrophe CMS slideshow singleton not accessible撇号 CMS 幻灯片单例无法访问
【发布时间】:2016-08-01 21:22:54
【问题描述】:

我正在尝试使用设置为 slideshow widgetTypesingleton 将图像添加到页面类型

界面工作正常(可以上传图片,限制上传到设置的变量),但我无法访问模板中的对象

我在页面模板中使用以下脚本记录页面对象,其他所有自定义字段都可以正常工作,只是幻灯片小部件不行。

var data = {{ page | json }};
console.log(data);

这是 app.js 中设置的内容

project: {
  extend: 'apostrophe-fancy-page',
  name: 'project',
  label: 'Project',
  addFields: [
    {
      name: 'thumb',
      label: 'Thumbnail',
      type: 'singleton',
      widgetType: 'slideshow',
      options: {
        limit: 1
      }
    }
  ]
}

有什么建议吗?

【问题讨论】:

    标签: node.js jinja2 nunjucks apostrophe-cms


    【解决方案1】:

    嗯。您没有指定,但我怀疑您正在尝试从模板访问另一个页面的缩略图,该页面可以作为相关页面信息访问它,例如page.ancestors 或 page.children。如果单例是在页面本身的模板上呈现的,那么您不会遇到任何问题。

    关于相关页面信息的事情是,出于性能原因,撇号限制了它包含在这些数组中的信息量。

    但是,您可以指定需要更多信息。以下是我们项目之一的app.js 文件的pages 属性示例:

    pages: {
      // other config like page types goes here, then...
      ancestorOptions: {
        children: true,
        areas: [ 'thumbnail' ]
      },
      descendantOptions: {
        depth: 2,
        areas: [ 'thumbnail' ]
      }
    }
    

    我们在这里启用:

    • page.ancestors 中的每个祖先添加一个 .children 数组,用于手风琴导航
    • 为每个祖先添加名为 thumbnail 的区域
    • 为当前页面的每个子页面添加名为 thumbnail 的区域 (page.children)
    • 还包括孙子page.children[0].children 用于下拉导航

    当您加载更多数据时,您付出的代价就是多一点时间。当您需要大量数据但又不想获取数千个页面并通过获取更多数据来“水合”它们的所有小部件时,这是一个很好的折衷设置。

    如果我弄错了,并且您在页面本身的页面模板上执行此操作,但仍然无法正常工作,请提供一些示例,我可以查看这些示例。

    (我是 Apostrophe 的主要开发人员之一。很抱歉没有早点看到这个问题。StackOverflow 是一个很好的地方,现在 2.0 稳定版已经发布,我们将在未来更密切地监控。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-11
      • 1970-01-01
      相关资源
      最近更新 更多