0

カートページとチェックアウトページでカスタムオプションの各価格を表示しようとしています。

そのため、このファイルを変更しました: 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()
                );

ただし、これはフィールドでのみ機能し、カスタム オプションが選択ボックスまたはラジオ ボタンの場合は機能しません。

誰か助けてくれませんか、ありがとう!

4

2 に答える 2

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);
        }

?>
于 2014-04-16T04:18:47.237 に答える
0

まだ問題が解決したかどうかはわかりませんが、参考までに、私がやったことを以下に示します..

カスタム オプションの価格は、アイテム オブジェクト (cart/item/default.phtml テンプレートからすぐに入手できるもの) からではなく、商品オブジェクトからのみ入手できます。アイテムから製品 ID を検索し ($_item->getProductId())、この製品をロードする必要があります。そこから、製品オプションをロードし、カスタム オプションの選択値 (私の場合) を反復処理し、オプション値 ID が製品オブジェクトとアイテム オブジェクト ( http://subesh.com.詳細については、 np/2009/12/custom-options-product-magento/を参照してください)。

これがあなたの道を歩むのに役立つことを願っています:)

于 2012-10-11T11:33:22.760 に答える