2010-11-30 53 views
0

我对基于客户群的产品设置了不同的价格。如果两个产品都应用于产品清单,查看,相关产品和追加销售产品,我希望向客户展示这两种价格。Magento - 无法在产品视图中显示层定价

我打开模板路径的提示,以确认价格的观点,都是从同一个模板文件,它是呈现如下:

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

我可以在产品清单,相关产品和加售产品中正确看到层级定价,但不能用于产品视图。

调试了一段时间后,我已经收窄目录/产品/ 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-> getMinimalPrice()不会返回任何内容,但它在列表,相关和追加销售产品上正确显示。

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

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

回答

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表格。无论如何,这可能不能解决你的问题,但它可能会让你指出正确的方向。祝你好运。

+0

这终于帮我达成了解决方案。对于产品视图,层级价格通过