我创建了一个模块产品和内容类型产品。我正在创建一个自定义小部件来显示单个产品。我已经设置了我的设计器,一旦我将小部件放在页面上,我就可以使用sf-list-selector sf-dynamic-items-selector从产品列表中进行选择。我的问题是将所选项目ID与我的小部件提取的产品列表相匹配。以下是窗口小部件用于检索所有产品的代码:
String.format(Locale.getDefault(), "firstname: %s, lastname: %s", firstName, lastName));
这很好用,并提取产品列表。问题是如何使用设计器中选定的产品ID过滤此列表。我有这个,他们不匹配:
var dynamicModuleManager = DynamicModuleManager.GetManager(providerName);
var contentType = TypeResolutionService.ResolveType(typeName);
var contentElements = dynamicModuleManager.GetDataItems(contentType).Where(x => x.Status == ContentLifecycleStatus.Live);
products = contentElements.ToArray().Select(p => new ItemViewModel(p)).ToArray();
如何从ItemViewModel转到选择器给我的ID?
使用羽毛9.1
答案 0 :(得分:0)
走了另一条路。而不是获得列表和过滤这样做:
var dynamicModuleManager = DynamicModuleManager.GetManager(providerName);
var contentType = TypeResolutionService.ResolveType(typeName);
var contentElement = dynamicModuleManager.GetDataItem(contentType, Guid.Parse(selectedProductId));
product = new ItemViewModel(dynamicModuleManager.Lifecycle.GetLive(contentElement));