我正在调查Magento臭名昭着的价格区块/ price.phtml
文件,我遇到的东西看起来像一个bug和/或废弃的代码路径,但我想首先由社区运行它确保我理解发生了什么。
在整个文件中,Magento将在条件调用中使用以下方法
$_weeeHelper->typeOfDisplay($_product, 0)
$_weeeHelper->typeOfDisplay($_product, 1)
$_weeeHelper->typeOfDisplay($_product, 4)
$_weeeHelper->typeOfDisplay($_product, 2)
根据我的代码跟踪收集的内容,此方法(如所调用的)最终将第二个参数与两个配置值中的一个进行比较。任
Tax -> Fixed Product Taxes -> Display Prices On Product View Page
Tax -> Fixed Product Taxes -> Display Prices In Product Lists
取决于当前的背景。如果我们在产品页面上,那就是第一个。否则,它采用产品列表页面。 (和“在产品页面上”表示在Mage::registry('current_product')
中设置了一个值)。
以下调用
除了外,这一切都很好$_weeeHelper->typeOfDisplay($_product, 4)
这些配置字段的唯一可能值是0 - 3.没有“4”。
所以,第一个问题:上面是否准确描述了typeOfDisplay
方法的行为? (假设null
参数$zone
第二个问题:如果是这样的话,Magento的版本是否存在(或者是否存在)
中存储了值为“4”的版本Tax -> Fixed Product Taxes -> Display Prices In Product Lists
Tax -> Fixed Product Taxes -> Display Prices On Product View Page
场?
答案 0 :(得分:5)
好吧,也许这是部分答案......
在CE 1.3.3.0中,似乎有4
的值。
class Mage_Weee_Model_Config_Source_Display
{
public function toOptionArray()
{
return array(
array('value'=>0, 'label'=>Mage::helper('weee')->__('Including FPT only')),
array('value'=>1, 'label'=>Mage::helper('weee')->__('Including FPT and FPT description [excl. FPT VAT]')),
array('value'=>4, 'label'=>Mage::helper('weee')->__('Including FPT and FPT description [incl. FPT VAT]')),
array('value'=>2, 'label'=>Mage::helper('weee')->__('Excluding FPT, FPT description, final price')),
array('value'=>3, 'label'=>Mage::helper('weee')->__('Excluding FPT')),
);
}
}