4

如果请求的 url 适用于简单产品,如何显示具有预选选项的可配置产品?

例如:

简单的产品 #1有:
颜色: Red
URL: /simple-red.html

简单产品 #2具有:
颜色: Green
URL: /simple-green.html

可配置产品有:
URL: /config.html

如果用户访问/simple-red.html它,应该加载带有预选选项颜色的可配置产品: Red

如果用户访问/simple-green.html它,应该加载带有预选选项颜色的可配置产品: Green

4

1 回答 1

1

成功解决问题:

  1. 扩展ProductController,用父可配置产品的产品 ID 替换简单产品的产品 ID。使用 SO 答案:
    Magento Catalog ProductController rewrite

    Code in custom ProductController

    ...
    $productId  = (int) $this->getRequest()->getParam('id');
    
    // Get parent configurable product
    $_product = Mage::getModel('catalog/product')->load($productId);
    if ($_product->getTypeId() == "simple") {
        $parentIds = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($_product->getId());
    
        // If parent exists
        if (isset($parentIds[0])) {
            $productId = $parentIds[0];
        }
    }
    ...
    
  2. 根据简单的产品预选可配置的产品选项。使用Vishal Sharma 给出的教程链接

结果(抱歉无法发布图片): 截图

于 2014-05-13T03:52:13.370 回答