OFBIZ的页面风格是可以自由定义的,搞清楚的OFBIZ的页面样式机制,便于我们开发定制自己的风格。
OFBIZ提供了以组件方式管理多种风格的机制,每一种风格是一个组件。有的用于后台管理(ID必须为BACKOFFICE),有的用于前台电子商务网(ID必须为ECOMMERCE)。默认的风格中共定义了7种风格,其中两种用于前台电子商务网,其它五种用于台后管理界面。这些风格都统在ofbiz/themes/下由不同的目录保存它义的定义。在服务安装时,这些定义将被安装到数据库中。
1) visual_theme保存了风格和使用者的关纱,确定风格是用于前台还是台后。
2) visual_theme_resource保存风格相关的文件路径信息。
3) visual_theme_set保存系统中所有风格的ID信息。这个ID是必须为一的。
如果要添加新风格需要确定三个方面的关系:
1) 风格的ID。
2) 风格的使用者,现在可以是前台或后台。当前也可以扩展出第三种。
3) 风格的资源定义信息。framework/common/data/CommonTypeData.xml中定义了,所有可以定义的资源信息,如VT_STYLESHEET VT_NAME VT_SHORTCUT_ICON等。
定义完以上的信息后,可以通过组件定义文件中加载。然后写入数据库中。
n 对于后台管理界面的风格是根据当前用户的设置进行显示的。用户在页面上设置风格时,通过调用service设置到UserPreference表中保存当前选用的风格。然后在页面中通过VISUAL_THEME 找到风格资源放入layoutsetting进行引用。
n 对于电子商务前台,即ecommerce的风格是由管理员登录后台后在设置店铺时进行设置的(保存在product_store表中)。但是在进行设置之前,需要一个默认的设置,这是在specialpurpose/ecommerce/data/EcommerceTypeData.xml进行了默认风格的定义。然后在页面中通过VISUAL_THEME_ID 找到风格资源放入layoutsetting进行引用。读取信息的操作是在specialpurpose/ecommerce/widget/CommonScreens.xml的action中进行的。
根据以上的分析,要引入新的风格,需要分别针对前台和后台分开进行。