2

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

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

在此处输入图像描述

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

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

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

问题是,你们认为这种方法行得通吗?会有什么后果?这个相同的文件是否会在购物车中生成价格,或者其他一些不想要的结果?

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

  1. 从数据库中查找产品的属性并将值存储在变量中
  2. 如果变量大于零,则回显“ - '$'$variable”;

这样,没有此变量的任何数据的简单产品不会显示价格范围。

如果这种方法可行,如何在 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()): */ ?>
4

1 回答 1

1

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

这是我一步一步做的:

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

原始文件:

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

新文件:

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

第二:打开theme下的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,并为其赋予属性代码“price_from”的属性值,给定 $_id(在 price.phtml 中为您计算的创建的 ID 变量)和商店 ID(我的案子)。

第五。从那里,我想你们中的大多数人都可以弄清楚其余的,但这是我的 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;
     }

你有它。如果有人用更好的方法发表一些批评,我真的很高兴。也许这会导致一些我还没有注意到的问题。

谢谢你们!

于 2013-07-17T03:31:02.680 回答