在代码中的版本化存储库中更新项目的 属性

Update item's property in a versioned repository in code

我对 Oracle Commerce ATG 技术还不太熟悉,还不了解它的许多概念。到目前为止,我遇到了一个我找不到任何解决方案的问题。 我正在尝试通过 MutableRepositoryItem 对象上的方法 setPropertyValue() 使用标准方式更新版本化存储库中项目的特定 属性,然后 updateItem() 在存储库对象本身上。但它不起作用,我收到该错误消息。 Error message

也许有人可以告诉我我应该怎么做才能解决这个问题?

版本化存储库和 non-versioned 存储库的更新过程不同。

1. Non-Versioned 存储库: 这非常简单,因为您可以简单地获取存储库项目,使用 setPropertyValue() 方法更改属性。更新项目,你就完成了。 更多详情,您可以参考这里:http://learnoracleatg.blogspot.in/2015/04/art212-how-to-query-atg-repository-from.html

2。版本库: 更新版本化存储库的概念有点棘手,并且与 non-versioned 存储库有很大不同。 由于版本化存储库旨在从 BCC 更新,因此在使用 BCC 时,ATG 会自行处理几乎所有事情。但是,当您以编程方式执行操作时,您必须注意一些事项:-

  • 创建 User/Persona
  • 创建项目
  • 使用工作流创建相应的流程
  • 使用开发线
  • 导入资产[或像对 non-versioned 存储库那样使用存储库语句]
  • 推进工作流程。