通过简单的产品URL预选可配置的产品选项

时间:2014-05-12 10:52:14

标签: magento magento-1.7 configurable-product

如果请求的网址是简单产品,如何使用预先选择的选项显示可配置产品?

例如:

简单产品#1 具有:
颜色: Red
网址 /simple-red.html

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

可配置产品具有:
网址: /config.html

如果用户访问/simple-red.html,则应加载可配置产品,其中包含预选选项颜色: Red

如果用户访问/simple-green.html,则应加载可配置产品,其中包含预选选项颜色: Green

1 个答案:

答案 0 :(得分:1)

成功解决了问题:

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

    自定义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. 根据简单的产品预选择可配置的产品选项。已使用link to tutorial given by Vishal Sharma

  3. 结果(抱歉无法发布图片): Screenshot