magento目录和产品页面上的不同价格

时间:2015-04-17 09:57:49

标签: magento

我们对某些产品进行了价格变动(增加),因此我对其进行了更新。在第一次检查它看起来没问题,在目录页面上显示了正确的新价格。但是,该产品有销售标签?在产品页面上,它仍然显示旧的(较低的)价格。

在管理员中,我将范围设置为商店视图,然后仍显示旧价格。我试图更新它,但保存后它会再次显示旧价格? 无论我做什么,它都不会在商店视图中保存新价格。

我查看了所有数据库catalog_product_index_price_ *表,但所有表都包含新价格。 (分配给product_id)

我刷新了缓存并重新编制了所有内容,但没有运气。产品如何显示甚至没有在数据库中列出的价格?或者是否有其他表格列出价格?

我现在真的很困惑。

更新: 为了清楚起见,我可以在默认商店视图中更改产品的价格。当我在特定商店视图中更改价格时,新价格将不会保存。当我回到管理员的产品时,旧的价格仍然存在。由于某种原因,新价格列在类别视图中,但不在产品视图中列出。

1 个答案:

答案 0 :(得分:2)

在目录/类别/视图页面上,价格来自数据库(它们不是即时收集,它对目录/产品/视图的作用)。因此,如果您在索引表中的数据库中有正确的值 - 那么您的产品中有哪些值并不重要(如果您不进行重新索引)。

首先检查是否有任何缓存模块,如memcached / varnish / any magento booster模块,它可以加载缓存页面。您可以在app / etc / local.xml

中查看

然后你需要找到负责网格输出的模板。在默认的magento中,它是template / catalog / product / list.phtml(不要忘记这个模板文件包含两个相似的部分。一个负责列表输出,另一个负责网格输出。这意味着一个部分不工作总是。) 尝试找到您正在使用的模板。尝试放置休息/更改。尝试查看那里的$ productCollection属性检查价格。例如靠近行。

<?php foreach ($_productCollection as $_product): ?>

提出以下内容:(并且不要在调试后忘记将其删除

Mage::log($_product->getData(), false, 'product.log', true);

<强> upd.1

对不起。我误读了。正如我已经说过,这个价格正在迅速收集。这意味着magento忽略了索引表并试图再次收集价格。因此,您需要在adminarea / catalog / product edit中查看价格。然后,您需要查看可能影响总价计算的模块(或者更好地完全禁用所有模块并启用默认主题)。