【问题标题】:Magento - Let the user choose between exlude tax of include taxMagento - 让用户在不含税或含税之间进行选择
【发布时间】:2025-12-18 08:25:01
【问题描述】:

我的产品有多种选择。

用户选择他想为产品支付的价格。 首先,我创建了一个下拉框,其值为 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。

【问题讨论】:

    标签: magento option product configure


    【解决方案1】:

    如果您查看以下页面 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>
    

    实施可以参考

    Changing the price in quote while adding product to cart: magento

    【讨论】:

    • 我可以使用 jQuery 在产品视图中显示价格。但是我怎样才能保存不含税而不是含税的产品。例如你选择 10 欧元和不包括税的选项,那么它需要在购物车中插入 8,26 欧元
    • 您需要在事件观察者之前 checkout_cart_save_before 修改所选产品的商品价格
    • 您好,您必须获得单选按钮的价值,通过观察者您可以修改产品价格
    最近更新 更多