1 Creating Custom Entity
新实体的创建你可以再参考 example 组件,为此你可以看下 example 组件的 entitymodel.xml 文件。你可以按下列步骤创建新的实体:
a. 在 hot-deploy/practice/ 下创建一个 entitydef 的子目录。
b. 创建一个 entitymodel.xml 文件。这个文件包括你想定义的实体定义。
c. 要装载定义,你需要在 ofbiz-component.xml 文件中定义一个条目,如下:
<entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
可以看出必须重启服务器才能让那些修改生效。
详细请参考:http://docs.ofbiz.org/display/OFBTECH/General+Entity+Overview.
实际应用中将很少去定义新的实体,因为在 OFBiz 已经存在对业务处理有很大作用的实体定义。虽然你可能感觉在某些地方要给存在的实体增加更多字段,你能如何做那些呢?下一步将告诉你方法,为你的客户化需要扩展一个实体。
先前我们通常在相同目录中需要一个或更多 entitygroup.xml 文件,这个不再需要,因为代码已经检入到 trunk 中(because code is checked in to the trunk for this)。
2 Extending an Existing OOTB Entity
是的,你可以扩展已存在的实体满足你客户化的需要。按下列方式完成:
a. 在你的客户化应用的 entitydef/entitymodel.xml 文件中按以下方式扩展你的实体。
<extend-entity entity-name=""> <field name="" type=""/> </extend-entity>
作为例子,你可以参考 party 组件的 entitymodel.xml 文件。
这是一个最简单的表单,它也能变得更复杂,增加一个或更多字段到已存在的实体中,这个依赖于你想要进行客户化需求的字段。这儿你也能定义与其它实体的关系。但在做这些之前,你得特别地搜索下,可能你要加的字段作为其它目的已经存在。也要去进行数据模型的扩展学习然后再做。
实体引擎配置可参考:Entity Engine Configuration Guide。
3 Preparing Data For Custom Application
你的 practice 应用准备数据可按下列步骤:
a. 在 practice 创建一个目录"data",在这创建一个 PracticeData.xml 文件。
b. 我们给一个用户创建数据,我必须为一个会员按指定顺序准备好,如下: