我们正在尝试使用以下代码从 CatalogCategoryBO 获取所有 ProductBO:
final CatalogBORepository catalogBORepository = applicationBO.getRepository("CatalogBORepository");
final CatalogCategoryBO catalogCategoryBO = catalogBORepository.getCatalogBOByCatalogName(catalogName).getCatalogCategoryBOByName(catalogCategoryName);
final CatalogCategoryBOCommonProductAssignmentExtension assignmentExtension = catalogCategoryBO.getExtension(CatalogCategoryBOCommonProductAssignmentExtension.class);
return assignmentExtension.getSortedProducts(applicationBO.getDefaultLocale());
但这并不总是按预期工作。调试后发现主要原因是BusinessObjectRepositoryContext:
((BusinessObjectRepositoryContext)catalogCategoryBO.getContext().getVariable("CurrentBusinessObjectRepositoryContext");
这取决于我们调用给定方法(组织或渠道)的位置。
此处描述了相同的问题:https: //support.intershop.com/kb/index.php/Display/IS-22604
是否有一些解决方法或更好的方法可以从 CatalogCategoryBO 获取所有分配的 ProductBO?
我们使用的是 Intershop B2C 版本 7.9.1.2。