我创建了一个模块产品和内容类型产品。我正在创建一个自定义小部件来显示单个产品。我已经设置了我的设计器,一旦我将小部件放到页面上,我就可以使用 sf-list-selector sf-dynamic-items-selector 从产品列表中进行选择。我的问题是将所选项目 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();
这很好用,可以拉出产品列表。问题是如何使用设计师选择的产品 ID 过滤此列表。我有这个,但它们不匹配:
products.Single(p => p.DataItem.Id == Guid.Parse(selectedProductId))
如何从 ItemViewModel 转到选择器给我的 Id?
使用羽毛 9.1