Magento - как объявить несколько вспомогательных классов в одном конфиге - PullRequest
0 голосов
/ 23 сентября 2011

Может кто-нибудь сказать мне, как я могу объявить несколько помощников в одном файле конфигурации для одного и того же модуля?

Я уже некоторое время использую вспомогательные служебные файлы, но так как мой служебный метод становится все более длинным, со многими функциями, я хотел бы разделить его на отдельные вспомогательные служебные классы на основе функциональности. Так что у меня был бы класс с именем Categoryhelper и один с именем Attributehelper. Очевидно, что этот шаг я могу сделать, но я не уверен, как объявить их в config.xml.

Я пытался возиться с конфигом, пробами и ошибками, но, похоже, ничего не получается.

Вот что у меня изначально было, с помощью помощника по умолчанию:

(примечание - имя моего пользовательского модуля называется «Помощник»

<global>
...
<helpers>
    <helper>
        <class>GPMClient_Helper_Helper</class>
        </helper>
</helpers>
...

и вот что я попробовал:

<helpers>
<helper>
            <class>GPMClient_Helper_Helper/Categoryhelper</class>
    </helper>
    <helper>
            <class>GPMClient_Helper_Helper/Attributehelper</class>
    </helper>

и

<helpers>
<helper>
            <class>GPMClient_Helper_Helper/Categoryhelper</class>
        <class>GPMClient_Helper_Helper/Attributehelper</class>
    </helper>

Должны ли вспомогательные классы входить в свой собственный фрагмент XML или они должны быть сгруппированы вместе?

Если бы кто-нибудь мог опубликовать пример конфигурации с объявленными несколькими классами помощников, я был бы очень признателен.

Спасибо, Ian

1 Ответ

6 голосов
/ 23 сентября 2011

Похоже, вы ошиблись, как это работает. Когда вы добавляете следующие строки в ваш модуль GPMClient_Helper config.xml

<helpers>
    <helper>
        <class>GPMClient_Helper_Helper</class>
    </helper>
</helpers>

вы определяете префикс класса для всех ваших помощников. Итак, теперь в вашем каталоге GPMClient/Helper/Helper вы должны создать файл Data.php с кодом GPMClient_Helper_Helper_Data внутри и любым количеством классов с именем GPMClient_Helper_Helper_*.

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