Неустранимая ошибка при загрузке Catalog-настроек в бэкэнд - PullRequest
2 голосов
/ 01 марта 2011

На новой версии 1.5.0.1 Magento при выборе Каталога в меню настроек-> Настройки я получаю следующую ошибку:

Фатальная ошибка: неопределенная константа класса 'RANGE_CALCULATION_AUTO' в my-install-dir / app / code / core / Mage / Adminhtml / Model / System / Config / Source / Price / Step.php в строке 33

Проверено 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')
            ),
        );
    }

}`

Кто-нибудь знает эту ошибку или как ее исправить?

1 Ответ

6 голосов
/ 01 марта 2011

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.Это может произойти, если

  1. Кто-то поместил другую версию в community или local

  2. Кто-то помешан на пути включения за пределы обычного Magentomonkey business

Проверьте файлы на

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 загружает класс, что должно привести вас туда, куда вам нужноидти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...