我根据客户群制定了不同的产品价格。我想向客户展示两种价格,以防它们都适用于产品清单,查看,相关和追加销售的产品。
我打开了模板路径提示,以验证所有视图的价格是否来自同一模板文件,如下所示:
/应用/设计/前端/默认/ 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
答案 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表。无论如何,这可能无法解决您的问题,但它可能会让您指向正确的方向。祝你好运。