Не удалось открыть Magento с пользовательской вспомогательной функцией

Я сделал две свежие установки magento 1.9.0.1, одна на моем компьютере с wampserver (apache 2.44, php5.4.12) и вторая на моем общем хостинге с nginx и php5.4.4, обе работали нормально [b] отлично [/b] без ошибки в логе.

Я создаю простую функцию с классом Helper для сравнения номера таксвата pe:

приложение / и т.д. / модули /MyF_checkF.xml

<config>
    <modules>
        <MyF_checkF>
            <active>true</active>
            <codePool>local</codePool>
        </MyF_checkF>
    </modules>
</config>

Приложение / код / ​​местные / MYF/checkF/ и т.д. /config.xml

<config>
     <global>
         <helpers>
            <checkF>
                <class>MyF_checkF_Helper</class>
            </checkF>
        </helpers> 
     </global>
 </config>

Приложение / код / ​​местные / MYF/checkF/Helper/Data.php

<?php

class MyF_checkF_Helper_Data extends Mage_Core_Helper_Abstract
{
    public function validVAT($vat)
    {
        if($vat == 123) 
                    return TRUE;
            else 
                    return FALSE;
    }
}

Скопировал /app/code/core/Mage/Customer/Model/Customer.php в /app/code/local/Mage/Customer/Model/Customer.php и добавил после проверки taxvat

if ($attribute->getIsRequired() && !Mage::helper('checkF')->validVAT($this->getTaxvat())){
            $errors[] = Mage::helper('customer')->__('TAX/VAT wrong.');
            }

На моем ПК localhost работает без ошибок, лог чист, но на виртуальном хостинге я получил:

системный журнал

Warning: include(Mage/CheckF/Helper/Data.php): failed to open stream: No such file or directory  in /var/www/clients/client0/web10/web/lib/Varien/Autoload.php on line 93
Warning: include(): Failed opening 'Mage/CheckF/Helper/Data.php' for inclusion (include_path='/var/www/clients/client0/web10/web/app/code/local:/var/www/clients/client0/web10/web/app/code/community:/var/www/clients/client0/web10/web/app/code/core:/var/www/clients/client0/web10/web/lib:.:/usr/share/php:/usr/share/pear')  in /var/www/clients/client0/web10/web/lib/Varien/Autoload.php on line 93

журнал ошибок

FastCGI sent in stderr: "PHP message: PHP Fatal error:  Class 'Mage_CheckF_Helper_Data' not found in /var/www/clients/client0/web10/web/app/Mage.php on line 547" while reading response header from upstream, request: "POST /index.php/customer/account/createpost/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9019"

Обе установки с отключенным кешем magento, idk, почему в общем хостинге magento ищет Mage / CheckF.. вместо local / checkf, но в localhost работает.

Спасибо за любую помощь!

2 ответа

Решение

Предупреждение: include(Mage/CheckF/Helper/Data.php): не удалось открыть поток, он пытается найти его в пакете Mage вместо пользовательского модуля MyF, это может дать вам подсказку,

и исправьте ваше имя, MyF_checkF_Helper_Data в MyF_CheckF_Helper_Data, поскольку Magento загружает классы из каталога

Нужна смена помощника checkF в checkf... и использовать Mage::helper('checkF') вместо Mage::helper('checkf')

<?xml version="1.0"?>
<config>
    <modules>
        <MyF_checkF>
            <version>0.1.0</version>
        </MyF_checkF>
    </modules>
     <global>
         <helpers>
            <checkf>
                <class>MyF_checkF_Helper</class>
            </checkf>
        </helpers> 
     </global>
 </config>
Другие вопросы по тегам