在Apostrophe CMS中定制件管理模式

问题描述 投票:1回答:1

我正在使用apostrophe-samples Github project做一些关于模态定制的测试。到目前为止,我已经添加了过滤器as explained in the tutorials,并添加了apostrophe-pieces源代码中的列(我认为这将是一个有趣的主题添加到教程,恕我直言)。

但是,我有一些疑问,例如专家joinByArray产品和产品joinByArrayReverse专家:

  • 可以通过UI以任何方式对列进行排序(例如,通过单击表格标题实现排序的选项)还是完全依赖于文章的defaultSort
  • 除标题之外的其他字段是否可以添加为过滤器?我能够添加_specialists作为产品过滤器,显示标题,但我想知道是否可以使用不同的字段。
  • 可以将反向连接添加为过滤器吗?如上所述,我能够添加_specialists作为产品过滤器,但不是相反。
  • 可以将连接/反向连接添加为列吗?如果我添加'_specialists'我列,我会显示一个像[Object]这样的数组,而不是过滤器中的标题。
apostrophe-cms
1个回答
1
投票

“可以通过UI以任何方式对列进行排序(例如,通过单击表格标题启用排序的选项),还是完全依赖于该片段的defaultSort?”

不是现在,没有。目的是提供这个功能,但到目前为止还没有建成,令人惊讶的是它并不是我们自己客户的迫切需求,尽管它肯定是一个常见的功能。

它可以提供良好的社区贡献,也可以通过撇号企业支持来赞助。添加可能不会花费很长时间。

“除标题之外的其他字段是否可以添加为过滤器?我能够将_specialists添加为产品过滤器,显示标题,但我想知道是否可以使用其他字段。”

目前还没有,但这个将是一个简单的公关。这是relevant line of code in apostrophe-schemas/index.js。你可以在这里访问field对象,所以如果设置doc,你可以很容易地做一个公关来查看field.filterLabelField的不同属性,比方说,仍然会回落到title

“可以将反向连接添加为过滤器吗?如上所述,我能够将_specialists添加为产品过滤器,但不是相反。”

不是现在。在lib/modules/apostrophe-schemas/index.js,你会发现目前没有addFilter属性。实施是可能的。代码需要在反面获取所选文档,获取它加入的id或id数组,并链接一个.and({ $in... })调用。

“可以将连接/反向连接添加为列吗?如果我将'_specialists'添加为列,我会显示一个像[Object]这样的数组,而不是过滤器中的标题。”

这个今天得到支持。您需要为列设置partial属性。这只是一个接受列值并返回字符串的函数。例如:

addColumns: [
  {
    name: '_specialists',
    partial: specialists => specialists.map(specialist => specialist.title).join(' ')
  }
]

对于这种情况,有一个更好的默认行为,而不是假设可以将其显示为字符串。

© www.soinside.com 2019 - 2024. All rights reserved.