投影查询将两种内容类型与相同的内容选择器字段进行比较

时间:2017-06-13 14:40:06

标签: orchardcms projection orchardcms-1.9

我想列出特定城市可用的优惠。我正在使用内容选择器字段将属性链接到交易和城市。

我有三种内容类型,其中两种内容类型都有一个连接该属性的内容选择器字段:

  • City(使用ContentPicker字段允许选择属性)
  • 属性
  • Deal(使用ContentPicker字段允许选择属性)

属性与交易相关联,如下所示:

  • 交易1 =财产1
  • 交易2 =财产1
  • 交易3 =物业2

属性链接到城市,如下所示:

  • 城市1 =财产1
  • 城市2 =物业2,物业3

所以我想得到的结果是:

  • 城市1 - 交易1和2应显示
  • 城市2 - 应显示交易3,因为为此城市选择的属性中存在属性2.

See example of content types created

See example query - On the city page I have a projection with a query that finds all the deals that that have the same properties as the current city.

据我所知,问题是'{Request.Content.Fields.CityTown.Properties}'没有给我一个列表形式的选定ID,如'2','3'。因此,如果我的城市连接到多个房产,它不会返回任何结果,因为它与“2,3”不匹配。如果我将3属性添加到交易3,它会给我结果,因为'2,3'等于'2,3',它适用于直接匹配,但它不会检查列出的交易的属性ID是否存在于物业ID列为当前城市给我的城市交易。希望这是有道理的。

诀窍是我想使用Orchard CMS系统中的现有功能。 我不想代码自定义模块等。我希望有一个简单的方法。

0 个答案:

没有答案