专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »编程综合 » webspherecommerce:让业务用户可以在 WebSphere Commerce V7 中预览客户细分市场 »正文

webspherecommerce:让业务用户可以在 WebSphere Commerce V7 中预览客户细分市场

来源: 发布时间:星期四, 2010年3月4日 浏览:75次 评论:0
  开始的前

  本教程通过个举例快速演示如何扩展 WebSphere Commerce V7 预览功能添加预览选项让业务用户可以在区别购物者上下文中预览 Web 商店然后讨论如何定制 WebSphere Commerce Management Center 界面以显示新预览选项接下来介绍如何扩展预览业务上下文添加更多预览参数最后介绍如何定制市场营销子系统检查正在浏览 Web 商店购物者是否按特定客户细分市场预览商店

  掌握了这些知识后就可以提供新预览选项可以在其他属性上下文中预览例如如果希望在某 Sales Catalog 上下文中预览可以开发通过右键单击 Sales Catalog 条目预览它功能

  目标

  学习如何:

  通过定制 Management Center 添加新预览选项

  扩展 WebSphere Commerce 框架以处理和存储定制预览属性

  让业务用户能够在客户细分市场上下文中预览

  图 1 介绍说明业务用户如何选择个客户细分市场并在此上下文中预览右键单击个客户细分市场在出现上下文菜单中会显示新 Preview In Segment 选项

图 1. 新 Preview In Segment 选项
 

  前提条件

  本教程适合那些熟悉 Java™ 和 XML WebSphere Commerce V7 开发人员在开始定制 Management Center 的前您应该熟悉 WebSphere Commerce 模型-视图-控制器扩展模型和 Management Center 框架使用 IBM® Rational® Application Developer 经验也会有帮助

  系统需求

  在开始学习本教程的前确认您符合以下条件:

  正在使用 WebSphere Commerce Version 7本教程不 讨论以前版本

  正在使用 WebSphere Commerce Developer 环境

  已经发布了基本商店

  学习时间

  学习本教程大约需要个半小时

  在 WebSphere Commerce Management Center 界面中添加预览属性

  首先在客户细分市场对象中添加个新上下文项当业务用户右键单击个客户细分市场时会看到新选项 “Preview In Segment”定要在 J2EE 透视图中打开 WebSphere Commerce Developer

  添加客户机操作把本教程 举例代码 中 ExtStorePreviewClientAction.lzx 文件复制到 LOBTools\WebContent\WEB-INF\src\lzx\commerce\marketing\ExtStorePreviewClientAction.lzx 目录

  在库中包含这个新文件打开文件 LOBTools\WebContent\WEB-INF\src\lzx\commerce\marketing\MarketingExtensionsLibrary.lzx

  在 <library> 标记后面插入下面新代码并保存文件:

< href="ExtStorePreviewClientAction.lzx" /> 

  在 Enterprise Explorer 视图中打开 LOBTools 项目找到并打开文件 LOBTools\WebContent\WEB-INF\src\lzx\commerce\marketing\objectDefinitions\CustomerSegmentPrimaryObjectDefinition.lzx

  搜索文本 <mktExcludedCustomerAssociationDefinition/>

  在其下插入下面新代码并保存文件:

<!-- Preview client action --> 
<extStorePreviewClientAction/> 


  这样就在客户细分市场上下文菜单中添加了新 Preview In Segment 选项当业务用户右键单击个客户细分市场时他们会看到 Preview In Segment 选项这个选项会打开商店预览对话框

  下个目标是在商店预览对话框中显示所选客户细分市场见图 2

  为了在这个对话框中显示所选客户细分市场打开本教程提供 举例代码把文件 ExtStorePreviewCustomerSegmentOption.lzx 复制到 LOBTools\WebContent\WEB-INF\src\lzx\commerce\foundation\ExtStorePreviewCustomerSegmentOption.lzx 目录

  现在在扩展库中包含这个新文件打开文件 LOBTools\WebContent\WEB-INF\src\lzx\commerce\foundation\FoundationExtensionsLibrary.lzx

  在 <library> 标记后面插入下面新代码并保存文件:

< href="ExtStorePreviewCustomerSegmentOption.lzx" /> 

  为了在预览对话框中添加选项打开文件 LOBTools\WebContent\WEB-INF\src\lzx\commerce\foundation\StorePreviewCustomOptions.lzx 并添加新客户细分市场选项在打开文件中添加下面粗体代码行:

< name="wcfStorePreviewCustomOptions"> 
 <simplelayout axis="y" spacing="10" /> 
 <extStorePreviewCustomerSegmentOption name="customerSegmentOption" /> 
</> 


  恭喜!WebSphere Commerce Management Center 定制已全部完成了

  保存所有修改过文件右键单击 LOBTools 项目并选择 Build OpenLaszlo Project

  编译所有 OpenLaszlo 文件的后检查是否有任何编译

  如果 OpenLaszlo 成功地编译了打开 Web 浏览器并清除所有临时 Internet 文件完成的后启动 WebSphere Commerce Management Center会看到图 1 和图 2 所示输出

图 1. 新 Preview In Segment 选项


图 2. 在 Store Preview Options 对话框中查看所选细分市场


  通过扩展 WebSphere Commerce 引擎在购物者会话中存储细分市场信息

  本节讨论如何捕捉来自 WebSphere Commerce Management Center 客户细分市场数据并存储在购物者会话中实现这个功能需要扩展 3个命令图 3 介绍说明从 WebSphere Commerce Management Center 到 Web 商店命令流当业务用户启动次预览时个控制器命令 (CMWSPreviewSetupCmdImpl) 来化用户预览业务上下文

  可以认为业务上下文是段会话信息它在用户购物期间直接和用户相关联我们要扩展预览上下文把在 Management Center 中选择成员组持久化当用户浏览网站WebSite时每个请求都保留在购物者预览上下文中这些信息决定用户是否属于某客户细分市场在 CheckUserInMemberGroupCmdImpl 命令中判断购物者属于哪个客户细分市场我们将通过扩展这个命令添加条新规则它根据用户正在预览客户细分市场检查每个细分市场评估

图 3. 预览启动命令流


  在 WebSphere Commerce Developer 环境中进入 J2EE 透视图通过 Servers 视图停止 WebSphere Commerce 测试服务器下面几步将添加本教程提供 举例代码 中定制逻辑

  把文件 ExCheckUserInMemberGroupCmdImpl.java 复制到工作空间中 WebSphereCommerceServerExtensionsLogic 项目应该把这个文件放在 \src\com\ibm\demoas\membergroup\commands\ExCheckUserInMemberGroupCmdImpl.java

  把文件 ExPreviewContextImpl.java 复制到工作空间中 WebSphereCommerceServerExtensionsLogic 项目应该把这个文件放在 src\com\ibm\demoas\context\previewimpl\ExPreviewContextImpl.java

  把文件 ExCMWSPreviewSetupCmdImpl.java 复制到工作空间中 WebSphereCommerceServerExtensionsLogic 项目应该把这个文件放在 src\com\ibm\demoas\content\preview\command\ExCMWSPreviewSetupCmdImpl.java在启动测试服务器的前要确保定制代码编译没有出现

  为了让 WebSphere Commerce 命令必须在数据库 CMDREG 表中指定覆盖连接数据库执行清单 1 中 insert 或 update SQL 语句从而添加这些新命令引用:

清单 1. 创建或更新命令引用

insert o cmdreg (storeent_id, erfacename, name, target) values 
 (0,'com.ibm.commerce.membergroup.commands.CheckUserInMemberGroupCmd', 
 'com.ibm.demoas.membergroup.commands.ExCheckUserInMemberGroupCmdImpl', 
 'Local'); 
  
insert o cmdreg (storeent_id, erfacename, name, target) values 
 (0,'com.ibm.commerce.content.preview.command.CMWSPreviewSetupCmd', 
 'com.ibm.demoas.content.preview.command.ExCMWSPreviewSetupCmdImpl', 
 'Local'); 
 
update cmdreg  name= 
 'com.ibm.demoas.membergroup.commands.ExCheckUserInMemberGroupCmdImpl' 
 where erfacename= 
 'com.ibm.commerce.membergroup.commands.CheckUserInMemberGroupCmd'; 
 
update cmdreg  name= 
 'com.ibm.demoas.content.preview.command.ExCMWSPreviewSetupCmdImpl' 
 where erfacename= 
 'com.ibm.commerce.content.preview.command.CMWSPreviewSetupCmd'; 


  为了让 WebSphere Commerce 化新预览上下文WC 项目中 businessContext.xml 文件必须引用它打开文件 WC\xml\config\businessContext.xml找到预览上下文定义用扩展上下文引用更新它

<BusinessContext ctxId="PreviewContext" 
 factoryClassname 
  ="com.ibm.commerce.context.factory.SimpleBusinessContextFactory"> 
   <parameter name="spiClassname" 
    value="com.ibm.demoas.context.previewimpl.ExPreviewContextImpl" /> 
</BusinessContext> 


  代码定制完成了现在可以启动 WebSphere Commerce 测试服务器并测试修改

  在商店预览标题中添加预览参数(可选)

  本节将在商店预览标题中添加客户细分市场名称图 4 给出预览时显示举例

图 4. 商店预览窗口


  下面使用本教程中 举例代码复制两个 JSP 并更新它们 Struts 引用

  把文件 ExtStorePreviewer.jsp 和 ExtStorePreviewerHeader.jsp 复制到工作空间中 Stores 项目应该把这些文件放在 \Stores\WebContent\tools\preview 目录中

  为了更新引用打开 Struts 文件 Stores\WebContent\WEB-INF\struts-config-ext.xml在 </action-mappings> 标记前面添加以下代码

<action path="/PreviewStore" 
 forward="/tools/preview/ExtStorePreviewer.jsp" /> 
 
<action path="/PreviewStoreHeader" 
 forward="/tools/preview/ExtStorePreviewerHeader.jsp" />




  重新启动 WebSphere Commerce 测试服务器让修改生效

  结束语

  本教程讲解了如何通过定制 WebSphere Commerce Management Center 添加预览选项让业务用户可以在所选客户细分市场中预览 Web 商店根据这个举例可以以相似方式添加其他预览参数

  已知限制

  从 WebSphere Commerce Management Center 传递给预览窗口参数大小有限制URL 大小受到 Web 浏览器支持最大 URL 长度限制因此如果为预览选择过多客户细分市场URL 请求就会太长请求就会失败



  本文举例源代码或素材下载

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: