在Apostrophe CMS中自定义件管理模式

时间:2019-02-03 20:09:43

标签: apostrophe-cms

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

但是,以专家 joinByArray 产品产品 {{1} } 专家

  • 可以通过UI以任何方式对列进行排序(例如,通过单击表标题启用排序的选项)还是完全依赖于片段的joinByArrayReverse
  • 是否可以将标题以外的其他字段添加为过滤器?我能够将defaultSort添加为产品过滤条件,并显示标题,但我想知道是否可以使用其他字段。
  • 反向联接可以添加为过滤器吗?如前所述,我可以将_specialists添加为产品过滤条件,但反之则不能。
  • 可以将联接/反向联接添加为列吗?如果我在列中添加“ _specialists”,则会显示一个类似于_specialists的数组,而不是过滤器中的标题。

1 个答案:

答案 0 :(得分:1)

  

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

目前不,不。目的是提供此功能,但到目前为止尚未构建,因为令人惊讶的是,尽管我们肯定是一个常见功能,但对我们自己的客户而言,它并不是紧迫的需求。

这将为社区做出很好的贡献,或者可以通过撇号企业支持来赞助。添加时间可能不会很长。

  

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

目前不行,但是这很容易。这是relevant line of code in apostrophe-schemas/index.js。您可以在此处访问field对象,因此,如果设置了doc,例如仍然退回到{{ 1}}。

  

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

目前不行。在field.filterLabelField中,您将看到当前没有title属性。实现是可能的。代码需要从背面获取所选文档,获取其加入的ID或ID数组,并链接一个lib/modules/apostrophe-schemas/index.js调用。

  

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

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

.and({ $in... })

在这种情况下,具有比假定可以将其显示为字符串更好的默认行为会更好。