[WCS 7,FixPack 7,Feature Pack 6]
我需要生成包含某些商品(产品)信息的Feed,例如名称,图片,类别,价格,seo-url,描述性属性等。
要生成此Feed,我将使用调度程序框架并创建一个控制器命令,该命令将在经过一定时间后调用。 现在我需要接收特定商店/目录中每个项目的商品数据。
据我所知,有几种方法可以达到这个目的:
我尝试使用Access Beans获取所有必要的信息,但我遇到了seo-url,价格等问题。
获取一组特定的商品属性是否有更多方法和最佳做法?
答案 0 :(得分:3)
我建议您在WCS开发环境中学习/调查如何实现站点地图生成计划命令(SitemapGenerateCmd)以及它如何调用JSP模板文件(sitemap.jsp)
您需要在命令中修改一点,为您的Feed创建一个jsp模板,并从您创建的调度程序命令中调用该模板。 调用消息传递系统的模板命令,确保在ActionForward标记中使用以下属性来从后端注册JSP以进行消息传递: 例如:
<forward className="com.ibm.commerce.struts.ECActionForward"
name="SitemapIndexView" path="/SitemapIndex.jsp">
<set-property property="direct" value="true"/>
<set-property property="resourceClassName" value="com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl"/>
<set-property property="interfaceName" value="com.ibm.commerce.messaging.viewcommands.MessagingViewCommand"/>
<set-property property="properties" value="storeDir=no"/>
<set-property property="implClassName" value="com.ibm.commerce.messaging.viewcommands.MessagingViewCommandImpl"/>
</forward>
然后,在JSP内部处理从产品/目录bean中提取数据的逻辑,您可以根据需要轻松地形成输出数据(XML,CSV,JSON等)
使用这种方式的优点和好处是你可以利用Commerce Server OOTB JSTL标签,WCF标签检索所有信息,并使用wcf:url for SEO URLS OOTB,即使你可以使用<wcf:getData
调用BOD / SOA命令标签,最后您将获得更加结构化的设计,以便将来轻松维护和重用。
sitemap.jsp是一个很好的资源,可以帮助您遍历目录和子目录以提取产品信息。
希望那些可以帮助您找到解决方案。需要对现有的站点地图生成实用程序进行一些搜索和理解。
感谢。
Abed