价格范围理念 - 可配置产品 - 产品列表 - Magento

时间:2013-07-17 01:48:46

标签: php magento magento-1.7

我有一个问题,我认为可能适用于许多Magento开发人员和管理员。

在我寻找显示可配置产品价格范围的方法时(见下图),我想到了一个想法。由于没有扩展显示可配置产品的价格范围而没有某种额外的自我破解,我想知道你们对这个想法的想法。由于我不是一个PHP开发人员,我希望你们能够指出我是否正确的方向。

enter image description here

创意:假设您设置的可配置产品的价格是所有相关单品的最低价格,我们会创建一个新属性并手动输入相关单品的最高价格。对于许多人来说,这种方法可能并不理想,因为它需要重复输入数据,但对于许多管理员来说,结果值得付出额外的努力。此外,excel可以为许多管理员自动执行此额外数据输入。

现在,以某种方式在.phtml模板文件中显示该属性:

 app/design/frontend/base/default/template/catalog/product/price.phtml

问题是,你们认为这种方法有效吗?会有什么后果?同一个文件是否会在购物车内产生价格,或者其他一些不必要的后果?

如果这确实有效,我会考虑以下逻辑:

  1. 从数据库中查找产品属性并将值存储在变量
  2. 如果变量大于零,则回显“ - '$'$ variable”;
  3. 这样,没有任何此变量数据的简单产品就不会显示价格范围。

    如果这种方法有效,那么如何在price.phtml文件中最有效地从数据库中检索这个自定义属性?

    请查看下面的整个price.phtml文件。我已添加评论<!--Here test test-->,以指出所有可配置产品和简单产品在我的页面上的价格回显。

    提前感谢您的帮助!

    首先,你们怎么看待这种方法?

    <?php
    /**
     * Template for displaying product price in different places (products grid, product     view page etc)
     *
     * @see Mage_Catalog_Block_Product_Abstract
     */
    ?>
    <?php
        $_coreHelper = $this->helper('core');
        $_weeeHelper = $this->helper('weee');
        $_taxHelper  = $this->helper('tax');
        /* @var $_coreHelper Mage_Core_Helper_Data */
        /* @var $_weeeHelper Mage_Weee_Helper_Data */
        /* @var $_taxHelper Mage_Tax_Helper_Data */
    
        $_product = $this->getProduct();
        $_storeId = $_product->getStoreId();
        $_id = $_product->getId();
        $_weeeSeparator = '';
        $_simplePricesTax = ($_taxHelper->displayPriceIncludingTax() || $_taxHelper->displayBothPrices());
        $_minimalPriceValue = $_product->getMinimalPrice();
        $_minimalPrice = $_taxHelper->getPrice($_product, $_minimalPriceValue,     $_simplePricesTax);
    ?>
    
    <?php if (!$_product->isGrouped()): ?>
        <?php $_weeeTaxAmount = $_weeeHelper->getAmountForDisplay($_product); ?>
        <?php if ($_weeeHelper->typeOfDisplay($_product, array(Mage_Weee_Model_Tax::DISPLAY_INCL_DESCR, Mage_Weee_Model_Tax::DISPLAY_EXCL_DESCR_INCL, 4))): ?>
            <?php $_weeeTaxAmount = $_weeeHelper->getAmount($_product); ?>
            <?php $_weeeTaxAttributes = $_weeeHelper->getProductWeeeAttributesForDisplay($_product); ?>
        <?php endif; ?>
        <?php $_weeeTaxAmountInclTaxes = $_weeeTaxAmount; ?>
        <?php if ($_weeeHelper->isTaxable() && !$_taxHelper->priceIncludesTax($_storeId)): ?>
            <?php $_attributes = $_weeeHelper->getProductWeeeAttributesForRenderer($_product, null, null, null, true); ?>
            <?php $_weeeTaxAmountInclTaxes = $_weeeHelper->getAmountInclTaxes($_attributes); ?>
        <?php endif; ?>
    
        <div class="price-box">
        <?php $_price = $_taxHelper->getPrice($_product, $_product->getPrice()) ?>
        <?php $_regularPrice = $_taxHelper->getPrice($_product, $_product->getPrice(), $_simplePricesTax) ?>
        <?php $_finalPrice = $_taxHelper->getPrice($_product, $_product->getFinalPrice()) ?>
        <?php $_finalPriceInclTax = $_taxHelper->getPrice($_product, $_product->getFinalPrice(), true) ?>
        <?php $_weeeDisplayType = $_weeeHelper->getPriceDisplayType(); ?>
        <?php if ($_finalPrice >= $_price): ?>
            <?php if ($_taxHelper->displayBothPrices()): ?>
                <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 0)): // including ?>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('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 $this->helper('tax')->__('Incl. Tax:') ?></span>
                        <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                        </span>
                    </span>
                <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('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 $this->helper('tax')->__('Incl. Tax:') ?></span>
                        <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                        </span>
                        <span class="weee">(
                            <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                                <?php echo $_weeeSeparator; ?>
                                <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?>
                                <?php $_weeeSeparator = ' + '; ?>
                            <?php endforeach; ?>
                            )</span>
                    </span>
                <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('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 $this->helper('tax')->__('Incl. Tax:') ?></span>
                        <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                        </span>
                        <span class="weee">(
                            <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                                <?php echo $_weeeSeparator; ?>
                                <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?>
                                <?php $_weeeSeparator = ' + '; ?>
                            <?php endforeach; ?>
                        )</span>
                    </span>
                <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                        <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_price, true, false) ?>
                        </span>
                    </span>
                    <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                        <span class="weee">
                            <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?>
                        </span>
                    <?php endforeach; ?>
                    <span class="price-including-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                        <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                        </span>
                    </span>
                <?php else: ?>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                        <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php if ($_finalPrice == $_price): ?>
                            <?php echo $_coreHelper->currency($_price, true, false) ?>
                            <?php else: ?>
                            <?php echo $_coreHelper->currency($_finalPrice, true, false) ?>
                            <?php endif; ?>
                        </span>
                    </span>
                    <span class="price-including-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                        <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?>
                        </span>
                    </span>
                <?php endif; ?>
            <?php else: ?>
                <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 0)): // including ?>
                    <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?>
                    </span>
                <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?>
                    <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?>
                    </span>
                    <span class="weee">(
                        <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                            <?php echo $_weeeSeparator; ?>
                            <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?>
                            <?php $_weeeSeparator = ' + '; ?>
                        <?php endforeach; ?>
                        )</span>
                <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?>
                    <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?>
                    </span>
                    <span class="weee">(
                        <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                            <?php echo $_weeeSeparator; ?>
                            <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?>
                            <?php $_weeeSeparator = ' + '; ?>
                        <?php endforeach; ?>
                        )</span>
                <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?>
                    <span class="regular-price"><?php echo $_coreHelper->currency($_price,true,true) ?></span><br />
                    <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                        <span class="weee">
                            <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?>
                    </span>
                <?php endforeach; ?>
                <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_price + $_weeeTaxAmount, true, true) ?>
                </span>
            <?php else: ?>
                <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php if ($_finalPrice == $_price): // this is where price is generated ?> <!--Here test test-->  
                        <?php echo $_coreHelper->currency($_price, true, true) ?>
                    <?php else: ?>
                        <?php echo $_coreHelper->currency($_finalPrice, true, true) ?>
                    <?php endif; ?>
                </span>
            <?php endif; ?>
        <?php endif; ?>
    <?php else: /* if ($_finalPrice == $_price): */ ?>
        <?php $_originalWeeeTaxAmount = $_weeeHelper->getOriginalAmount($_product); ?>
    
        <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 0)): // including ?>
            <p class="old-price">
                <span class="price-label"><?php echo $this->__('Regular Price:') ?></span>
                <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?>
                </span>
            </p>
    
            <?php if ($_taxHelper->displayBothPrices()): ?>
                <p class="special-price">
                    <span class="price-label"><?php echo $this->__('Special Price:') ?></span>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                        <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?>
                        </span>
                    </span>
                <span class="price-including-tax">
                    <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                    <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                    </span>
                </span>
                </p>
            <?php else: ?>
            <p class="special-price">
                <span class="price-label"><?php echo $this->__('Special Price:') ?></span>
                <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmountInclTaxes, true, false) ?>
                </span>
            </p>
            <?php endif; ?>
    
        <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 1)): // incl. + weee ?>
            <p class="old-price">
                <span class="price-label"><?php echo $this->__('Regular Price:') ?></span>
                <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?>
                </span>
            </p>
    
            <p class="special-price">
                <span class="price-label"><?php echo $this->__('Special Price:') ?></span>
                <span class="price-excluding-tax">
                    <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                    <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?>
                    </span>
                </span>
            <span class="weee">(
                <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                    <?php echo $_weeeSeparator; ?>
                    <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?>
                    <?php $_weeeSeparator = ' + '; ?>
                <?php endforeach; ?>
                )</span>
            <span class="price-including-tax">
                <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                </span>
            </span>
            </p>
        <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 4)): // incl. + weee ?>
            <p class="old-price">
                <span class="price-label"><?php echo $this->__('Regular Price:') ?></span>
                <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_regularPrice + $_originalWeeeTaxAmount, true, false) ?>
                </span>
            </p>
    
            <p class="special-price">
                <span class="price-label"><?php echo $this->__('Special Price:') ?></span>
                <span class="price-excluding-tax">
                    <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                    <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_finalPrice + $_weeeTaxAmount, true, false) ?>
                    </span>
                </span>
            <span class="weee">(
                <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                    <?php echo $_weeeSeparator; ?>
                    <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount() + $_weeeTaxAttribute->getTaxAmount(), true, true); ?>
                    <?php $_weeeSeparator = ' + '; ?>
                <?php endforeach; ?>
                )</span>
            <span class="price-including-tax">
                <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                </span>
            </span>
            </p>
        <?php elseif ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, 2)): // excl. + weee + final ?>
            <p class="old-price">
                <span class="price-label"><?php echo $this->__('Regular Price:') ?></span>
                <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_regularPrice, true, false) ?>
                </span>
            </p>
    
            <p class="special-price">
                <span class="price-label"><?php echo $this->__('Special Price:') ?></span>
                <span class="price-excluding-tax">
                    <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                    <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_finalPrice, true, false) ?>
                    </span>
                </span>
                <?php foreach ($_weeeTaxAttributes as $_weeeTaxAttribute): ?>
                    <span class="weee">
                        <?php echo $_weeeTaxAttribute->getName(); ?>: <?php echo $_coreHelper->currency($_weeeTaxAttribute->getAmount(), true, true); ?>
                    </span>
                <?php endforeach; ?>
                <span class="price-including-tax">
                    <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                    <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                        <?php echo $_coreHelper->currency($_finalPriceInclTax + $_weeeTaxAmountInclTaxes, true, false) ?>
                    </span>
                </span>
            </p>
        <?php else: // excl. ?>
            <p class="old-price">
                <span class="price-label"><?php echo $this->__('Regular Price:') ?></span>
                <span class="price" id="old-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_regularPrice, true, false) ?>
                </span>
            </p>
    
            <?php if ($_taxHelper->displayBothPrices()): ?>
                <p class="special-price">
                    <span class="price-label"><?php echo $this->__('Special Price:') ?></span>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                        <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPrice, true, false) ?>
                        </span>
                    </span>
                    <span class="price-including-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Incl. Tax:') ?></span>
                        <span class="price" id="price-including-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_finalPriceInclTax, true, false) ?>
                        </span>
                    </span>
                </p>
            <?php else: ?>
            <p class="special-price">
                <span class="price-label"><?php echo $this->__('Special Price:') ?></span>
                <span class="price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_finalPrice, true, false) ?>
                </span>
            </p>
            <?php endif; ?>
        <?php endif; ?>
    
    <?php endif; /* if ($_finalPrice == $_price): */ ?>
    
    <?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue && $_minimalPriceValue     < $_product->getFinalPrice()): ?>
    
        <?php $_minimalPriceDisplayValue = $_minimalPrice; ?>
        <?php if ($_weeeTaxAmount && $_weeeHelper->typeOfDisplay($_product, array(0, 1, 4))): ?>
            <?php $_minimalPriceDisplayValue = $_minimalPrice + $_weeeTaxAmount; ?>
        <?php endif; ?>
    
        <?php if ($this->getUseLinkForAsLowAs()):?>
        <a href="<?php echo $_product->getProductUrl(); ?>" class="minimal-price-link">
        <?php else:?>
        <span class="minimal-price-link">
        <?php endif?>
            <span class="label"><?php echo $this->__('As low as:') ?></span>
            <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                <?php echo $_coreHelper->currency($_minimalPriceDisplayValue, true, false) ?>
            </span>
        <?php if ($this->getUseLinkForAsLowAs()):?>
        </a>
        <?php else:?>
        </span>
        <?php endif?>
    <?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice && $_minimalPrice     < $_finalPrice): */ ?>
    </div>
    
    <?php else: /* if (!$_product->isGrouped()): */ ?>
    <?php
    $_exclTax = $_taxHelper->getPrice($_product, $_minimalPriceValue);
    $_inclTax = $_taxHelper->getPrice($_product, $_minimalPriceValue, true);
    ?>
    <?php if ($this->getDisplayMinimalPrice() && $_minimalPriceValue): ?>
        <div class="price-box">
            <p class="minimal-price">
                <span class="price-label"><?php echo $this->__('Starting at:') ?></span>
                <?php if ($_taxHelper->displayBothPrices()): ?>
                    <span class="price-excluding-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Excl. Tax:') ?></span>
                        <span class="price" id="price-excluding-tax-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_exclTax, true, false) ?>
                        </span>
                    </span>
                    <span class="price-including-tax">
                        <span class="label"><?php echo $this->helper('tax')->__('Incl.       Tax:') ?></span>
                        <span class="price" id="price-including-tax-<?php echo $_id ?><?php     echo $this->getIdSuffix() ?>">
                            <?php echo $_coreHelper->currency($_inclTax, true, false) ?>
                        </span>
                    </span>
                <?php else: ?>
                    <?php
                    $_showPrice = $_inclTax;
                    if (!$_taxHelper->displayPriceIncludingTax()) {
                        $_showPrice = $_exclTax;
                    }
                    ?>
                <span class="price" id="product-minimal-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
                    <?php echo $_coreHelper->currency($_showPrice, true, false) ?>
                </span>
                <?php endif; ?>
            </p>
        </div>
    <?php endif; /* if ($this->getDisplayMinimalPrice() && $_minimalPrice): */ ?>
    <?php endif; /* if (!$_product->isGrouped()): */ ?>
    

1 个答案:

答案 0 :(得分:1)

好的,所以我让它工作,并在网站的所有区域正确显示。但是,我希望有人可以改进,因为我不是一个PHP开发人员,我相信有更好的方法可以做我已经完成的事情。

以下是我一步一步做的事情:

首先:创建price.phtml文件的副本并将其存储在主题目录

原始档案:

app/design/frontend/base/default/template/catalog/product/price.phtml

新文件:

app/design/frontend/{package}/{theme}/template/catalog/product/price.phtml

第二:打开主题下的price.phtml。转到第200行。以下是为我的所有简单和可配置产品生成价格的代码。希望你也是如此。

    <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
        <?php if ($_finalPrice == $_price): ?>
            <?php echo $_coreHelper->currency($_price, true, true) ?>

第三。创建一个新属性。我用“price_from”

的属性代码称我的“Price From”

四。在此行之前的price.phtml文件中插入以下代码行:<?php echo $_coreHelper->currency($_price, true, true) ?>

要插入的代码:

<?php $priceFrom = Mage::getResourceModel('catalog/product')->getAttributeRawValue($_id, 'price_from', 1);  ?>

在这行代码中,创建了一个变量$ priceForm,并为$ _id(在price.phtml中为您计算的创建的ID变量)和商店ID(属性代码“price_from”)分配属性值。在我的情况下1)。

第五。从那里,我想你们大多数人都可以弄清楚其余部分,但这是我的price.phtml编辑。

     <span class="regular-price" id="product-price-<?php echo $_id ?><?php echo $this->getIdSuffix() ?>">
         <?php if ($_finalPrice == $_price): ?>
                <?php $priceFrom = Mage::getResourceModel('catalog/product')->getAttributeRawValue($_id, 'price_from', 1);  ?>
                <?php $formattedPrice = round($priceFrom,2); ?>
                <?php echo $_coreHelper->currency($_price, true, true) ?>
                <?php if ($priceFrom > 0): ?><span class="price price-from"> - <?php echo '$'; ?><?php echo $formattedPrice; ?></span><?php endif; ?>

第六。然后,由于这个price.phtml还在产品页面上生成了价格的HTML,我使用CSS来隐藏我在产品页面上添加的HTML。 CSS如下:

     .product-type-data .price-box .price.price-from {
         display: none;
     }

你有它。如果有人以更好的方式发表批评,我真的很乐意。也许这会引起一些我还没有注意到的问题。

谢谢大家!