0

我有一个有多种选择的产品。

用户选择他想为产品支付多少。首先,我创建了一个下拉框,其值为 5 欧元,- 10 欧元,等等。我将产品价格设置为 0 欧元。

当我选择 10 欧元时,产品变为 10 欧元 - 这很好。

现在我想要一个复选框,用户可以在其中选择不包括税和包括税,所以如果我选择不包括税,产品将被插入购物车,因为 10,00 欧元女巫是可以的(不包括税)。但是当我选择含税时,产品需要以 10 /1.21 = €8,26(不含税)的形式放入购物车。

我怎样才能做到这一点?

编辑:

我有以下代码:

$event = $observer->getEvent();
$quote_item = $event->getQuoteItem();

    if (is_array($quote_item->getOptions())) { 
        foreach ($quote_item->getOptions() as $optionValue) { 
            echo ???? . ' --> ' . $optionValue->getValue() . '<br />';
        } 
    } 

这将为我提供选项中的值。但是我如何获得真正的 option_id 呢?我现在得到 option_type_id。

4

1 回答 1

0

如果您查看以下页面 app/design/frontend/default/default/template/catalog/product/price.phtml

you will find  below code

<?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 0)): // including ?>
        <span class="price-excluding-tax">
            <span class="label"><?php echo $_taxHelper->__('Excl. Tax:') ?></span>
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                <?php echo $_coreHelper->currency($_price+$_weeeTaxAmount,true,false) ?>
            </span>
        </span>
        <span class="price-including-tax">
            <span class="label"><?php echo $_taxHelper->__('Incl. Tax:') ?></span>
            <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                <?php echo $_coreHelper->currency($_finalPriceInclTax+$_weeeTaxAmount,true,false) ?>
            </span>
        </span>
    <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?>
        <span class="price-excluding-tax">
            <span class="label"><?php echo $_taxHelper->__('Excl. Tax:') ?></span>
            <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                <?php echo $_coreHelper->currency($_price+$_weeeTaxAmount,true,false) ?>
            </span>
        </span>

实施你可以参考

在将产品添加到购物车时更改报价中的价格:magento

于 2013-06-27T10:37:22.700 回答