这个detail url https://localhost:9002/yacceleratorstorefront/electronics/en/Open-Catalogue/Cameras/Digital-Cameras/Digital-Compacts/DSC-H20/p/1978440_blue的响应请求是在这个folder的这个controller下面处理的:
web/src/controllers/pages/ProductPageController.java
根据SpringMVC提供的注解@RequestMapping, 在runtime时当前产品的编号会被自动赋值给变量productCode, 然后通过类似CRM WebUI BOL layer->Genil layer->DB layer的方式把对应product的数据取出来,最后填充给model变量。这个model变量最后用于在JSP UI上显示数据。
这个product是个特殊的product,如果搜索结果中点"1978440",然后跳到“Variants” tab,会看到其他几个颜色的product都是“Product Variants”。这种product叫VariantProduct,它的base product即"1978440"虽然有productcode但是不会出现在前端,只有它的color variant product才能被展示和购买:
原来Hybris的product也有variant的概念。和CRM和ERP里的Product Model一样:
一个例子就是咖啡机,有不同颜色,商用型,家用型,可选择带1个附件还是2个。