在什么情况下可以从Magento的索引表中读取产品价格?

在什么情况下可以从Magento的索引表中读取产品价格?,magento,Magento,我正在为Magento认证考试学习,我试图确定在什么情况下可以从Magento的索引表中读取产品价格。 我正试图遵循Magento的方法流程,但在遵循了几条兔子路线后,我被卡住了。 在过去的任何时候都可能有人发现过它?只有在使用产品集合时,即在一次处理多个产品时,才会从索引表中读取产品价格。 当您获得单个产品时,例如在产品视图页面上,会动态生成价格 下面是一些代码参考的说明: 当您考虑 MaGeAsCudioLogMyMod产品< /代码>时,您将看到方法 GETFIALALPRE()/代码>调

我正在为Magento认证考试学习,我试图确定在什么情况下可以从Magento的索引表中读取产品价格。
我正试图遵循Magento的方法流程,但在遵循了几条兔子路线后,我被卡住了。

在过去的任何时候都可能有人发现过它?

只有在使用产品集合时,即在一次处理多个产品时,才会从索引表中读取产品价格。 当您获得单个产品时,例如在产品视图页面上,会动态生成价格

下面是一些代码参考的说明:

当您考虑<代码> MaGeAsCudioLogMyMod产品< /代码>时,您将看到方法<代码> GETFIALALPRE()/代码>调用<代码> $this > GETPrimeMeleDe()-GETFialalPrices($QTY,$this);<代码> 反过来,默认价格模型(
Mage\u Catalog\u model\u Product\u Type\u price
)在方法
getFinalPrice()
中计算价格,并触发事件Catalog\u Product\u get\u final\u price,某些模块(我认为是目录或购物车价格规则)使用该事件来调整价格。这种方法是“动态”计算,因此没有指标

在集合(
Mage\u Catalog\u Model\u Resource\u Product\u collection
)中,价格索引器用于减少计算每个产品价格的复杂过程。 它定义一个映射,将字段分配给相应的索引字段:

protected $_map = array('fields' => array(
    'price'         => 'price_index.price',
    'final_price'   => 'price_index.final_price',
    'min_price'     => 'price_index.min_price',
    'max_price'     => 'price_index.max_price',
    'tier_price'    => 'price_index.tier_price',
    'special_price' => 'price_index.special_price',
));
做这项工作的索引器是class
Mage\u Catalog\u Model\u Product\u indexer\u Price