Magento - 无法在产品视图中显示层级定价

时间:2010-11-30 14:08:56

标签: magento e-commerce

我根据客户群制定了不同的产品价格。我想向客户展示两种价格,以防它们都适用于产品清单,查看,相关和追加销售的产品。

我打开了模板路径提示,以验证所有视图的价格是否来自同一模板文件,如下所示:

  

/应用/设计/前端/默认/ my_theme /模板/目录/产品

我可以在产品列表,相关产品和追加销售产品中正确看到等级定价,但不能用于产品视图。

调试一段时间后,我已经缩小了catalog / product / price.phtml文件中有问题的部分,如下所示:

<?php
    $_coreHelper = $this->helper('core');
    $_weeeHelper = $this->helper('weee');
    $_taxHelper  = $this->helper('tax');

    $_product = $this->getProduct();
    $_id = $_product->getId();
    echo 'Product Id: ' . $_id;
    $_weeeSeparator = '';
    $_simplePricesTax = ($_taxHelper->displayPriceIncludingTax() || $_taxHelper->displayBothPrices());
    echo 'Simple Price Tax: ' . $_simplePricesTax;
    $_minimalPriceValue = $_product->getMinimalPrice();
    echo 'Minimal Price Value: ' . $_minimalPriceValue;
    //$_minimalPriceValue = 41;
    $_minimalPrice = $_taxHelper->getPrice($_product, $_minimalPriceValue, $_simplePricesTax);
    echo 'Minimal Price: ' . $_minimalPrice;
    //$_minimalPrice = 41;
?>

我已经回应了从上面的模型中获取的所有价格,并且仅在产品视图页面的情况下,上面的$ _product-&gt; getMinimalPrice()不返回任何内容,而它在列表,相关和追加销售的产品上正确显示。

我想不出任何理由。 catalog.xml中有几行不同但我不认为它们与此有任何关系。此外,上面的代码中有几行注释行,其中我对minimalPrice和minimalPriceValue变量进行了硬编码。在这样做之后,价格也开始出现在产品视图中。包括产品视图在内的所有视图的产品ID也正确显示,因此产品IS在此时加载。

我们正在使用自定义模板,我发现默认情况下我们没有遇到此问题。我正在使用Magento 1.4.1.1

1 个答案:

答案 0 :(得分:3)

你是否说过你想要做的事情100%与股票主题一起工作?如果是这样,那么你真的应该看看你的自定义主题和默认主题之间的差异。此外,您可能希望查看开发人员在app / code / community和app / code / local中进行的任何更改,这些更改是主题的自定义。可能会有一些冲突。

但是如果你找不到差异,我可以给出一些提示,说明为什么你会看到这种行为。当您在类别列表页面和产品视图页面上查看时,有时相同的模型(和块)对象中包含不同的数据。原因是对数据库的后端查询是不同的。我以前在分层系统上做了一些工作,我记得当你查看目录页面时,定价数据实际上来自一些catalogindex_ *表而不是catalog_product_entity_ *表。如果我没记错的话,它会查询两个表,例如catalogindex_price和catalogindex_minimal_price。但是当您在产品视图页面时,定价数据来自标准的catalog_product_entity_ *和catalog_product_entity_tier_price表。无论如何,这可能无法解决您的问题,但它可能会让您指向正确的方向。祝你好运。