pm.*_*pm. 2 php zend-framework magento
在从设置 - >设置菜单中选择目录时,在新的1.5.0.1 Magento安装上,我收到以下错误:
致命错误:第33行/ my-install-dir /app/code/core/Mage/Adminhtml/Model/System/Config/Source/Price/Step.php中未定义的类常量'RANGE_CALCULATION_AUTO'
检查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')
),
);
}
}`
Run Code Online (Sandbox Code Playgroud)
任何人都知道这个错误或如何解决它?
PHP抱怨它找不到RANGE_CALCULATION_AUTO
类上定义的常量Mage_Catalog_Model_Layer_Filter_Price
根据您上面的评论,听起来您已经检查过该文件
app/code/core/Mage/Catalog/Model/Layer/Filter/Price.php
Run Code Online (Sandbox Code Playgroud)
确保定义了正确的常量.
const RANGE_CALCULATION_AUTO = 'auto';
Run Code Online (Sandbox Code Playgroud)
基于此,我的猜测就是为这个类加载了不同的 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
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请添加一些临时调试代码
app/code/core/Mage/Adminhtml/Model/System/Config/Source/Price/Step.php
Run Code Online (Sandbox Code Playgroud)
使用反射来确定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')
),
);
}
}`
Run Code Online (Sandbox Code Playgroud)
这将转储出一个文件路径,该路径指向PHP从中加载类的确切位置,这将使您获得所需的位置.