为 ProductBO 创建 ProductListPrice

Create ProductListPrice for ProductBO

是否可以在 ProductBO 对象上创建产品标价?我知道如何使用 ProductPO 来做到这一点:

productPriceMgr.createProductListPrice(product, new Money("EUR", BigDecimal.ZERO));

但我找不到与 Product 业务对象等效的对象。

感谢您的帮助!

虽然我不是 100% 确定,但我认为不可能在 ProductBO 对象上创建标价。查看默认的 ISH 管道,似乎所有定价修改都是在 ProductPO 对象上完成的,而不是在 ProductBO 对象上完成的。

作为解决方法,您可以使用以下通用转换方法将 ProductBO 转换为 ProductPO:

public <T extends PersistentObject> T convertBOToPersistentObject(BusinessObject bo) 
{
    return bo.getExtension(PersistentObjectBOExtension.class).getPersistentObject();
}

ProductBO API 用作通用事物。如果创建产品标价的功能不可用,我会说您需要编写一个 BO 扩展来为您提供准确的价格。您可以在此处找到有关该主题的文档:https://support.intershop.com/kb/index.php/Display/27K270

一条建议:在数据库中创建对象时,事务必须在进行中。此外,必须存在 CSRF 令牌才能开始交易。我不知道您的用例,但我宁愿认为此功能必须仅供管理后台用户访问。