在从设置 - >设置菜单中选择目录时,在新的1.5.0.1 Magento安装上,我收到以下错误:
致命错误:未定义的类常量'RANGE_CALCULATION_AUTO' 第33行的 / my-install-dir /app/code/core/Mage/Adminhtml/Model/System/Config/Source/Price/Step.php
选中Step.php
并且它看起来没有损坏并包含以下内容:
class Mage_Adminhtml_Model_System_Config_Source_Price_Step
{
public function toOptionArray()
{
return array(
array(
'value' => Mage_Catalog_Model_Layer_Filter_Price::RANGE_CALCULATION_AUTO,
'label' => Mage::helper('adminhtml')->__('Automatic')
),
array(
'value' => Mage_Catalog_Model_Layer_Filter_Price::RANGE_CALCULATION_MANUAL,
'label' => Mage::helper('adminhtml')->__('Manual')
),
);
}
}`
任何人都知道此错误或如何解决此问题?
答案 0 :(得分:6)
PHP抱怨它找不到类RANGE_CALCULATION_AUTO
上定义的Mage_Catalog_Model_Layer_Filter_Price
上的常量
根据您的上述评论,听起来您已经在
检查了文件app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php
确保定义了正确的常量。
const RANGE_CALCULATION_AUTO = 'auto';
基于此,我的猜测就是为这个类加载了不同的 Price.php。如果
,就会发生这种情况有人在community
或local
有人嘲笑Magento正常猴子生意以外的包含路径
检查
上的文件app/community/core/Mage/Catalog/Model/Layer/Filter/Price.php
app/local/core/Mage/Catalog/Model/Layer/Filter/Price.php
如果这不起作用,请将一些临时调试代码添加到
app/code/core/Mage/Adminhtml/Model/System/Config/Source/Price/Step.php
使用反射来确定PHP从
加载类的文件class Mage_Adminhtml_Model_System_Config_Source_Price_Step
{
public function toOptionArray()
{
//NEW LINES HERE
$r = new ReflectionClass('Mage_Catalog_Model_Layer_Filter_Price');
var_dump($r->getFileName());
//echo $r->getFileName(); // if too long for var_dump
exit("Bailing at line ".__LINE__." in ".__FILE__);
//END NEW LINES
return array(
array(
'value' => Mage_Catalog_Model_Layer_Filter_Price::RANGE_CALCULATION_AUTO,
'label' => Mage::helper('adminhtml')->__('Automatic')
),
array(
'value' => Mage_Catalog_Model_Layer_Filter_Price::RANGE_CALCULATION_MANUAL,
'label' => Mage::helper('adminhtml')->__('Manual')
),
);
}
}`
这将转储出一个文件路径,该路径指向PHP正在加载类的确切位置,这可以让您到达需要的位置。