@Controller @RequestMapping("/**/p") public class ProductPageController extends AbstractPageController
Controller for product details page
  • Constructor Details

    • ProductPageController

      public ProductPageController()
  • Method Details

    • productDetail

      @RequestMapping(value="/{productCode:.*}", method=GET) public String productDetail(@PathVariable("productCode") String productCode, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws CMSItemNotFoundException, UnsupportedEncodingException
      Throws:
      CMSItemNotFoundException
      UnsupportedEncodingException
    • productOrderForm

      @RequestMapping(value="/{productCode:.*}/orderForm", method=GET) public String productOrderForm(@PathVariable("productCode") String productCode, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • showZoomImages

      @RequestMapping(value="/{productCode:.*}/zoomImages", method=GET) public String showZoomImages(@PathVariable("productCode") String productCode, @RequestParam(value="galleryPosition",required=false) String galleryPosition, org.springframework.ui.Model model)
    • showQuickView

      @RequestMapping(value="/{productCode:.*}/quickView", method=GET) public String showQuickView(@PathVariable("productCode") String productCode, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request)
    • postReview

      @RequestMapping(value="/{productCode:.*}/review", method=POST) public String postReview(@PathVariable("productCode") String productCode, ReviewForm form, org.springframework.validation.BindingResult result, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectAttrs) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • reviewHtml

      @RequestMapping(value="/{productCode:.*}/reviewhtml/{numberOfReviews:.*}", method=GET) public String reviewHtml(@PathVariable("productCode") String productCode, @PathVariable("numberOfReviews") String numberOfReviews, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request)
    • writeReview

      @RequestMapping(value="/{productCode:.*}/writeReview", method=GET) public String writeReview(@PathVariable("productCode") String productCode, org.springframework.ui.Model model) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • setUpReviewPage

      protected void setUpReviewPage(org.springframework.ui.Model model, String productCode) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • writeReview

      @RequestMapping(value="/{productCode:.*}/writeReview", method=POST) public String writeReview(@PathVariable("productCode") String productCode, ReviewForm form, org.springframework.validation.BindingResult result, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request, org.springframework.web.servlet.mvc.support.RedirectAttributes redirectAttrs) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • productFutureStock

      @RequestMapping(value="/{productCode:.*}/futureStock", method=GET) public String productFutureStock(@PathVariable("productCode") String productCode, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • productSkusFutureStock

      @ResponseBody @RequestMapping(value="/{productCode:.*}/grid/skusFutureStock", method=POST, produces="application/json") public final Map<String,Object> productSkusFutureStock(FutureStockForm form, org.springframework.ui.Model model)
    • handleUnknownIdentifierException

      @ExceptionHandler(UnknownIdentifierException.class) public String handleUnknownIdentifierException(UnknownIdentifierException exception, javax.servlet.http.HttpServletRequest request)
    • updatePageTitle

      protected void updatePageTitle(String productCode, org.springframework.ui.Model model)
    • populateProductDetailForDisplay

      protected void populateProductDetailForDisplay(String productCode, org.springframework.ui.Model model, javax.servlet.http.HttpServletRequest request, List<ProductOption> extraOptions) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • populateProductData

      protected void populateProductData(ProductData productData, org.springframework.ui.Model model)
    • sortVariantOptionData

      protected void sortVariantOptionData(ProductData productData)
    • getGalleryImages

      protected List<Map<String,ImageData>> getGalleryImages(ProductData productData)
    • addFormatsToGalleryImages

      protected void addFormatsToGalleryImages(List<Map<String,ImageData>> galleryImages, List<ImageData> images)
    • getReviewValidator

      protected ReviewValidator getReviewValidator()
    • getPageForProduct

      protected AbstractPageModel getPageForProduct(String productCode) throws CMSItemNotFoundException
      Throws:
      CMSItemNotFoundException
    • isFutureStockEnabledForCurrentUser

      protected boolean isFutureStockEnabledForCurrentUser()