0

我正在使用 Magento 1.7.0 版

我在产品详细信息页面中添加了衬衫尺寸(新添加的属性)下拉框。使用以下代码

app\design\frontend\default{mytempalte}\template\catalog\product\view.phtml

 <?php $product = $_product->getAttributeText('size_chart'); ?>    shirt size
<select name="size_chart">
<option value="Select">Select</option>
<?php for($i = 0;$i < count($product);$i++) { ?>
<option value="<?php echo $product[$i]; ?>"><?php echo $product[$i]; ?></option>
<?php } ?>
</select>

客户可以选择衬衫尺码。选择衬衫尺码后,我需要在购物车和结帐页面中显示衬衫尺码。

如何将衬衫尺寸值从产品详细信息传递到其他页面?

谢谢

4

1 回答 1

0

实际上,在购物车页面中,您可能会在报价对象中获得购物车项目。

$cart = Mage::getModel('checkout/cart')->getQuote();
$items = $cart->getAllVisibleItems();
foreach ($items as $item){
    $options = $item->getProductOptions();
    $superAttributes = $options['info_buyRequest']['super_attribute'];

    if (!!$superAttributes){
        $attributeObjSize = Mage::getModel('eav/config')->getAttribute(Mage_Catalog_Model_Product::ENTITY,'size_chart');
        $attributeObjSizeId = $attributeObjSize->getAttributeId();

        foreach ($superAttributes as $code=>$superAttribute){
            if ($attributeObjSizeId == $code){
                $sizeCode = $superAttribute;
                $sizeLabel = $attributeObjSize->getSource()->getOptionText($sizeCode);
            }
        }
    }
}

$sizeLabel 应该是您想要的。希望它有效。

于 2013-05-21T22:03:17.910 回答