我想使用关系过滤器来过滤标签。当我传递一个文本字符串并且它可以搜索 EntityTitle 时,这工作正常,但我想将一个 entity_id 传递给过滤器。
我在查询结果的详细信息中注意到关系过滤器具有“CompareAttribute=EntityTitle”。有没有办法编辑它以使其成为EntityID?
谢谢。
我想使用关系过滤器来过滤标签。当我传递一个文本字符串并且它可以搜索 EntityTitle 时,这工作正常,但我想将一个 entity_id 传递给过滤器。
我在查询结果的详细信息中注意到关系过滤器具有“CompareAttribute=EntityTitle”。有没有办法编辑它以使其成为EntityID?
谢谢。
目前,只能在代码中通过相关项目中的不同属性进行过滤。就是这样
var q = App.Query["queryname"];
q
from before 转换为 aIDataTarget
并向上导航查询树var relFilter = q.In["Default"].Source
,然后将其再次转换为正确的类型,然后更改relFilter.CompareAttribute = "Country";
......类似的东西:)
之后,您可以使用foreach(var x in AsDynamic(q["Default"])) {...}
我已经尝试过这个,我想要一些按地区分组的位置,所以我做了:
所以基本上它应该做同样的事情,除了它会按地区查询。所以这就是我想出的:
@{
var someAddresses = App.Query["FilterAddresses"]["ListContent"];
someAddresses.Filter = region.RegionName;
Data.In.Add("someAddresses", someAddresses["Default"]);
}
@foreach (var pc in AsDynamic(someAddresses.List)) {
<li>@pc.Naam</li>
}
然而它说:
CS1061:
ToSic.Eav.DataSources.IDataStream
不包含过滤器的定义。
那么它应该是别的东西吗?