【问题标题】:Magento Custom Options showing price in cart/checkout pageMagento 自定义选项在购物车/结帐页面中显示价格
【发布时间】:2012-08-15 08:36:02
【问题描述】:

我试图在购物车页面和结帐页面中显示自定义选项的每个价格。

所以我更改了这个文件:app/code/core/Mage/Catalog/Helper/Product/Configuration.php 在第 75 行

 $options[] = array(
                    'label' => $option->getTitle(),
                    'value' => $group->getFormattedOptionValue($itemOption->getValue()),
                    'print_value' => $group->getPrintableOptionValue($itemOption->getValue()),
                    'option_id' => $option->getId(),
                    'option_type' => $option->getType(),
                    'custom_view' => $group->isCustomizedView(),

                    //##my changing
                   'my_price' => $option->getPrice()
                );

但这仅适用于字段,当我的自定义选项是选择框或单选按钮时不起作用。

谁能帮忙,谢谢!

【问题讨论】:

    标签: magento


    【解决方案1】:

    打开你的模板文件

    app/design/frontend/default/theme/template/checkout/cart/item/default.phtml

    找到foreach循环:

    <?php foreach ($_options as $_option) : ?>
    

    在 foreach 循环中,添加以下代码:

    <?php
    
            $optionId = $_option['option_id'];
            $product = $_item->getProduct();
            $option = $product->getOptionById($optionId);
            $itemOption = $_item->getOptionByCode('option_' . $option->getId());
            $price = false;
            foreach ($option->getValues() as $values) {
                if ($values->getId() == $itemOption['value']) {
                    $price = $values->price;
                }
            }
            if ($price !== false) {
                echo Mage::helper('core')->currency($price);
            }
    
    ?>
    

    【讨论】:

    • 它在 magento 1.9.3.2 中不起作用。显示错误“致命错误:在非对象上调用成员函数 getValue()”。
    【解决方案2】:

    不确定你是否已经解决了你的问题,但作为参考,这是我所做的......

    自定义选项价格仅可从产品对象获得,而不能从商品对象获得(可从 cart/item/default.phtml 模板中轻松获得)。您必须从项目 ($_item->getProductId()) 中找到产品 ID,然后加载该产品。从那里您将要加载产品选项,遍历自定义选项选择值(在我的情况下)并在选项值 id 与产品和项目对象匹配时提取价格(http://subesh.com.np/2009/12/custom-options-product-magento/ 以获得更多帮助)。

    希望这可以帮助您顺利上路:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-27
      • 1970-01-01
      • 2013-04-07
      • 2014-03-06
      相关资源
      最近更新 更多