Orchardcms Orchard CMS-基于ContentPicker中的值的查询

Orchardcms Orchard CMS-基于ContentPicker中的值的查询,orchardcms,projection,Orchardcms,Projection,编辑:重新措辞的问题 我想不是有个bug就是我做错了什么 我在Blogpost类型中添加了一个字段。此字段的类型为 内容采集器。我称之为相关页面 然后我创建常规页面(ContentType页面) 我创建了4个博客帖子。两篇博客文章在RelatedPage字段中将PageOne作为所选值。其他两篇文章将PageTwo作为RelatedPage中的选定值 现在,我创建了一个带有过滤器ContentType为BlogPost的查询。和一个过滤器,其中Blog Post.Related Page等于{2

编辑:重新措辞的问题

我想不是有个bug就是我做错了什么

  • 我在Blogpost类型中添加了一个字段。此字段的类型为 内容采集器。我称之为相关页面
  • 然后我创建常规页面(ContentType页面)
  • 我创建了4个博客帖子。两篇博客文章在RelatedPage字段中将PageOne作为所选值。其他两篇文章将PageTwo作为RelatedPage中的选定值
  • 现在,我创建了一个带有过滤器ContentType为BlogPost的查询。和一个过滤器,其中Blog Post.Related Page等于{21}(即PageOne的Id)
  • 我希望得到BlogPostOne和blogpostwo的结果。相反,我没有得到结果。实际上,我希望从放置小部件的页面检索pageid,但无法使其正常工作,因此我将过滤器缩减为预定义值,而不是动态值。但就像我说的没有结果

    那么这个问题是不是错了,我该怎么做呢。或者是ContentPicker字段的过滤器存在错误

    另外,我还将在Codeplex中提交一个问题

    更新 在标记器中,包含{}的所有值都被视为标记,因此被替换。问题是contentpicker字段中的内容项的ID与accolades一起存储。因此,当使用{21}作为筛选器的值时,21将被标记化,并且由于该标记没有值,因此该值将变为空。跳过标记器时,它会工作(在调试时)。但是不能跳过标记器,因为存在标记是非常合法的。
    因此,我认为标记器或contentpicker的contentitem字段中ID的存储方式存在缺陷。我认为可以通过将contentpicker更改为存储以逗号分隔的数字来解决这个问题。

    您是否尝试过使用页面别名而不是内容id作为标识符?e、 g.“/关于我们”,就像你在图层规则中所做的那样。

    我似乎已经找到了“bug”,但我不知道如何解决它。我用我的发现编辑了这个问题。我跟踪了这个问题,但没有任何解决方案。我不敢相信,这些年来,ContentPicker返回数据的格式竟然没有出现过,而tokeniser只会吃掉这些数据:/