Я установил одно расширение модуля, которое выдает фатальную ошибку
«Неустранимая ошибка: класс« Mage_Giftcards_Helper_Data »не найден в .... / app / Mage.php на строке 546» в администраторе.
Я сослался на эту ссылку /programming//a/9191286/2919940, а также на эту ссылку /magento//a/7133/3693
Но у меня есть
<global>
<helpers>
<giftcards>
<class>Webtex_Giftcards_Helper</class>
</giftcards>
</helpers>
</global>
по моему config.xml
и у меня есть этот класс
class Webtex_Giftcards_Helper_Data extends Mage_Core_Helper_Data{
// my methods
}
объявлен в /app/code/local/Webtex/Giftcards/Helper/Data.php
пути.
Я отключил компилятор и очистил кеш, сделав пустой var/cache
каталог.
Я нашел везде, где config.xml
должен быть определен вспомогательный класс, а Data.php должен объявить этот вспомогательный класс.
Но у меня есть оба в моем случае, что может быть причиной этой ошибки? Я также проверил этот модуль на моей новой установке magento,
Версия Magento 1.7.0.2
Пожалуйста, предоставьте помощь для этой ошибки ?? Если есть конфликты имен классов, как мы можем отладить это?
Благодарность
источник
Ответы:
Это часто встречается при обращении к отсутствующему помощнику. Во многих случаях само имя класса искажено или ваше имя ссылается на него неверно, поэтому Magento ищет его в пути
Mage_Giftcards_Helper_Data
(см. Пример 1 ниже). Для следующих примеров я настроил модуль с именемMyCompany_MyModule
.Вот лишь некоторые из многих способов, с помощью которых вы можете ошибиться с определением помощников:
Неверный псевдоним класса помощника:
Я упоминаю своего помощника как:
Я получаю ошибку:
Что пошло не так?
Мой псевдоним класса помощника определяется как
mymodule
:Изменение моего шорткода на
Mage::helper('mymodule')
получения желаемого результата.Неверное имя класса
Я ссылаюсь на моего помощника (на этот раз правильно):
Я получил:
Что пошло не так?
В моем определении класса отсутствует "_Data":
Помощник / Таможня:
Это похоже на то, что происходит, когда вы пытаетесь обратиться к вспомогательному классу в файле, который не называется «Data.php».
Я упоминаю своего помощника как:
Мой вспомогательный путь модуля был определен как:
У меня есть файл класса в app / code / local / MyCompany / MyModule / Helper / Custom.php
Я получаю ошибку:
Что пошло не так?
Вам необходимо указать другие вспомогательные классы в конкретном модуле в качестве подпутей к короткому имени помощника вашего модуля. Это похоже на работу блоков и моделей, но на самом верхнем уровне нет подпапки.
Я исправляю эту ошибку, ссылаясь на файл вспомогательного класса Custom.php следующим образом:
источник
Это происходит только при установке расширения с включенным компилятором. Вот что вам нужно сделать
1 шаг приложение / etc / module / ваш модуль, который вы установили недавно, отключите модуль
2 шага Авторизуйтесь в admin / system / tools compiler отключите компилятор Загрузите код снова, он будет работать нормально, затем вы можете снова скомпилировать код
удачи
источник
codepool/extension_name/module_name/Helper/Data.php
includes/src/
источник