Magento, версии CE 1.4.2, 1.5.0.1, 1.5.1.0
Мне пришлось адаптировать платежный модуль для Magento, следуя всем рецептам config.xml
, system.xml
, etc/module/Mycompany_Mypaymentmodule.xml
, которые все отлично работают.
Но недавно я дважды проверил и обнаружил ошибку:
в моем config.xml
я положил:
<config>
<modules>
<Mage_Mycompany>
<version>0.1.0</version>
</Mage_Mycompany>
</modules>
...
Это потому, что изначально модуль должен был быть помещен в папку сообщества.
Следуя рекомендациям, я переписал классы xml и так далее, чтобы они отражали местный кодовый пул. Это тоже прошло хорошо (за исключением ошибки, которую я отладил).
Однако внутри config.xml
я переименовал тэг modules-примерно так:
<config>
<modules>
<Mycompany_Mypaymentmodule>
<version>0.1.0</version>
</Mycompany_Mypaymentmodule>
</modules>
Странно то, что Magento теперь продолжает спрашивать меня о старом файле класса Helper, когда я перехожу к способам оплаты в бэкэнде, в результате чего:
Неустранимая ошибка: класс 'Mage_Mycompany_Helper_Data' не найден в пути \ to \ app \ Mage.php в строке 520
Другими словами, Magento продолжает просить вспомогательный класс моего старого, предварительно переименованного модуля, который, конечно, нигде не найти.
Я провел расширенный поиск по всем файлам, но нигде не было найдено строки Mage_Mycompany
, поэтому я предполагаю, что Magento пытается загрузить этот вспомогательный класс из таблицы базы данных. Конечно, я очищал кеш и перестраивал все индексы несколько раз, а также удалял все файлы кеша. Я также проверил практически все таблицы базы данных, но безрезультатно.
Во-вторых, когда я создаю вспомогательный класс вручную в app/code/community/Mage/Mycompany/Helper/Data.php
, все идет хорошо, что для меня звучит странно, потому что сам класс не должен вызываться (так как он никогда не упоминается ни в одном config.xml).
Я должен что-то упустить, и, возможно, имя класса генерируется на лету, но я действительно не знаю, как этого избежать или исправить ... так что любая помощь приветствуется!