ATG-Endeca 记录过滤器



请参阅以下来自 endeca jsp_ref数据。 所以我的问题,是否可以在运行时使用 recordFilter 从记录中获取/检索 dispName 的值?

如何在呈现产品显示页面期间获取属性名称值。 注意:我不能使用endeca机械手的方法。

dispName = record.getProperty("sku.displayName")
StockStatus = record.getProperty("product.stockStatuses");

sku.baseUrl:      atgrep:/ProductCatalog_production/sku/017229136779   
sku.creationDate:      1485194500638   
sku.displayName:      LG M95 BT HEADSET BL   
sku.endDate:      32506394714894   
sku.margin:      0.000000
product.stockStatuses:      1000:Out of Stock   
product.stockStatuses:      100411:Out of Stock   
product.stockStatuses:      100412:Out of Stock   

if(null != xxxxPage && !((String) xxxxPage ).isEmpty()){
PropertyConstraint propContraint = new PropertyConstraint(EndecaConstants.ITEM_SALE_FLAG,EndecaConstants.CONST_1);                  
return propContraint.toString();
}
PropertyConstraint propContraint = new PropertyConstraint(EndecaConstants.ITEM_SALE_FLAG,EndecaConstants.CONST_1);              
return propContraint.toString();

如果通过在 NavigationStateBuilder 组件中添加 endeca 属性作为记录筛选器启用这些属性,则可以使用 endeca 属性进行筛选。 Record.getattributes 应该给你一个索引属性/维度和相应值的映射。

我们正在谈论两个不同的方面。1.记录过滤。将此视为一个 sql 查询,它根据值的某种组合筛选行。为了做到这一点,我们使用PropertyContraints。所以在你的例子中,你可以告诉endeca,给我记录,ITEM_SALE_FLAG作为CONST_1。传递此属性约束以使用 MdexResource 进行查询和处理,您将获得一个记录列表,其中包含与该约束匹配的所有记录。2.记录财产。在请求记录列表时,您可以指定是要每条记录上的所有属性,还是只选择其中一些属性。如果你想选择,你可以使用setSelection(PropertyList(或不设置它。无论哪种情况,您都可以使用 record.getProperties(( 检索每条记录的属性。下面是示例代码。 https://docs.oracle.com/cd/E29584_01/webhelp/mdex_basicDev/src/cbdv_erecs_props_display.html

最新更新