4

admin で致命的なエラー「Fatal error: Class 'Mage_Giftcards_Helper_Data' not found in ..../app/Mage.php on line 546」をスローする 1 つのモジュール拡張機能をインストールしました。

このリンクhttps://stackoverflow.com/a/9191286/2919940とこのリンクも参照しましたhttps://magento.stackexchange.com/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 です

このエラーのヘルプを提供してください?? クラス名の競合がある場合、どうすればそれをデバッグできますか??

更新: これが私の app/etc/modules/Webtex_Giftcards.xml ファイルです。

<?xml version="1.0"?>
<config>
    <modules>
        <Webtex_Giftcards>
        <active>true</active>
        <codePool>local</codePool>
        <name>Webtex Gift Cards</name>
    </Webtex_Giftcards>
</modules>
</config>

そして、これが私のsystem.xmlファイルです

<?xml version="1.0"?>
<config>
<tabs>
    <webtex translate="label" module="giftcards">
        <label>WebTex</label>
        <sort_order>300</sort_order>
    </webtex>
</tabs>
<sections>
    <giftcards module="giftcards">
        <tab>webtex</tab>
        <label>Gift Cards</label>
        <frontend_type>text</frontend_type>
        <sort_order>200</sort_order>
        <show_in_default>1</show_in_default>
        <show_in_website>1</show_in_website>
        <show_in_store>1</show_in_store>
        <groups>
            <default module="giftcards">
                <label>Defaults</label>
                <frontend_type>text</frontend_type>
                <sort_order>10</sort_order>
                <show_in_default>1</show_in_default>
                <show_in_website>1</show_in_website>
                <show_in_store>1</show_in_store>
                <fields>
                    <min_card_value>
                        <label>Min Gift Card Value</label>
                        <frontend_type>text</frontend_type>
                        <sort_order>20</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </min_card_value>
                    <max_card_value>
                        <label>Max Gift Card Value</label>
                        <frontend_type>text</frontend_type>
                        <sort_order>21</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </max_card_value>
                    <show_in_shopping_cart>
                        <label>Show In Shopping Cart Page</label>
                        <frontend_type>select</frontend_type>
                        <source_model>adminhtml/system_config_source_yesno</source_model>
                        <sort_order>22</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </show_in_shopping_cart>
                    <show_as_payment_method>
                        <label>Show As Payment Method</label>
                        <frontend_type>select</frontend_type>
                        <source_model>adminhtml/system_config_source_yesno</source_model>
                        <sort_order>22</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </show_as_payment_method>
                    <show_mail_delivery_date_field>
                        <label>Show email delivery date field</label>
                        <frontend_type>select</frontend_type>
                        <source_model>adminhtml/system_config_source_yesno</source_model>
                        <sort_order>23</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </show_mail_delivery_date_field>
                </fields>
            </default>
            <email module="giftcards">
                <label>Email Options</label>
                <frontend_type>text</frontend_type>
                <sort_order>50</sort_order>
                <show_in_default>1</show_in_default>
                <show_in_website>1</show_in_website>
                <show_in_store>1</show_in_store>
                <fields>
                    <card_picture>
                        <label>Use default GiftCard picture for Email</label>
                        <frontend_type>select</frontend_type>
                    <source_model>adminhtml/system_config_source_yesno</source_model>
                        <sort_order>24</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                        <comment>Set "No" for use product picture</comment>
                    </card_picture>
                    <email_template>
                        <label>Template for e-mail</label>
                        <frontend_type>select</frontend_type>
                        <source_model>adminhtml/system_config_source_email_template</source_model>
                        <sort_order>30</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </email_template>
                    <print_template>
                        <label>Template for print</label>
                        <frontend_type>select</frontend_type>
                        <source_model>adminhtml/system_config_source_email_template</source_model>
                        <sort_order>30</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </print_template>
                    <offline_template>
                        <label>Template for offline</label>
                        <frontend_type>select</frontend_type>
                        <source_model>adminhtml/system_config_source_email_template</source_model>
                        <sort_order>30</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </offline_template>
                    <confirm_template>
                        <label>Template for confirmation</label>
                        <frontend_type>select</frontend_type>
                        <source_model>adminhtml/system_config_source_email_template</source_model>
                        <sort_order>30</sort_order>
                        <show_in_default>1</show_in_default>
                        <show_in_website>1</show_in_website>
                        <show_in_store>1</show_in_store>
                    </confirm_template>
                </fields>
            </email>
        </groups>
    </giftcards>
</sections>
</config>

そして、これが私のconfig.xmlファイルです。

<?xml version="1.0"?>
<config>
<modules>
    <Webtex_Giftcards>
        <version>3.3.1</version>
    </Webtex_Giftcards>
</modules>
<admin>
    <routers>
        <giftcards>
            <use>admin</use>
            <args>
                <module>Webtex_Giftcards</module>
                <frontName>giftcards</frontName>
            </args>
        </giftcards>
        <adminhtml>
            <args>
                <modules>
                    <Webtex_Giftcards before="Mage_Adminhtml">Webtex_Giftcards_Adminhtml</Webtex_Giftcards>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>
<frontend>
    <routers>
        <checkout>
            <args>
                <modules>
                    <Webtex_Giftcards before="Mage_Checkout">Webtex_Giftcards</Webtex_Giftcards>
                </modules>
            </args>
        </checkout>
    </routers>
    <layout>
        <updates>
            <giftcards>
                <file>giftcards.xml</file>
            </giftcards>
        </updates>
    </layout>
    <translate>
        <modules>
            <Webtex_Giftcards>
                <files>
                    <default>Webtex_Giftcards.csv</default>
                </files>
            </Webtex_Giftcards>
        </modules>
    </translate>
</frontend>
<global>
    <rewrite>
        <giftcards_giftcards_index>
            <from><![CDATA[#^/customer/giftcards/#]]></from>
            <to>/giftcards/giftcards/</to>
        </giftcards_giftcards_index>
        <giftcards_giftcards_balance>
            <from><![CDATA[#^/customer/giftcards/balance/#]]></from>
            <to>/giftcards/giftcards/balance/</to>
        </giftcards_giftcards_balance>
        <giftcards_giftcards_print>
            <from><![CDATA[#^/customer/giftcards/print/#]]></from>
            <to>/giftcards/giftcards/print/</to>
        </giftcards_giftcards_print>
        <giftcards_giftcards_apply>
            <from><![CDATA[#^/customer/giftcards/apply/#]]></from>
            <to>/giftcards/giftcards/apply/</to>
        </giftcards_giftcards_apply>
    </rewrite>
    <models>
        <giftcards>
            <class>Webtex_Giftcards_Model</class>
            <resourceModel>giftcards_mysql4</resourceModel>
        </giftcards>
        <giftcards_mysql4>
            <class>Webtex_Giftcards_Model_Mysql4</class>
            <entities>
                <giftcards>
                    <table>giftcards_card</table>
                </giftcards>
                <cardslist>
                    <table>giftcards_cardlist</table>
                </cardslist>
                <order>
                    <table>giftcard_order</table>
                </order>
            </entities>
        </giftcards_mysql4>
        <sales>
            <rewrite>
                <order>Webtex_Giftcards_Model_Sales_Order</order>
            </rewrite>
        </sales>
    </models>
    <resources>
        <giftcards_setup>
            <setup>
                <module>Webtex_Giftcards</module>
                <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
            </setup>
            <connection>
                <use>core_setup</use>
            </connection>
        </giftcards_setup>
    </resources>
    <helpers>
        <giftcards>
            <class>Webtex_Giftcards_Helper</class>
        </giftcards>
    </helpers>
    <blocks>
        <giftcards>
            <class>Webtex_Giftcards_Block</class>
        </giftcards>
    </blocks>
    <events>
        <catalog_product_save_before>
            <observers>
                <webtex_giftcards_observer_catalog_product_save_after>
                    <type>singleton</type>
                    <class>giftcards/observer</class>
                    <method>catalogProductSaveBefore</method>
                </webtex_giftcards_observer_catalog_product_save_after>
            </observers>
        </catalog_product_save_before>
        <order_cancel_after>
            <observers>
                <webtex_giftcards_observer_sales_order_cancel_after>
                    <type>singleton</type>
                    <class>giftcards/observer</class>
                    <method>salesOrderCancelAfter</method>
                </webtex_giftcards_observer_sales_order_cancel_after>
            </observers>
        </order_cancel_after>
        <sales_order_payment_refund>
            <observers>
                <webtex_giftcards_observer_sales_order_creditmemo_refund>
                    <type>singleton</type>
                    <class>giftcards/observer</class>
                    <method>saleOrderPaymentRefund</method>
                </webtex_giftcards_observer_sales_order_creditmemo_refund>
            </observers>
        </sales_order_payment_refund>
        <sales_order_save_after>
            <observers>
                <webtex_giftcards_observer_sales_order_save_after>
                    <type>singleton</type>
                    <class>giftcards/observer</class>
                    <method>salesOrderSaveAfter</method>
                </webtex_giftcards_observer_sales_order_save_after>
            </observers>
        </sales_order_save_after>


        <sales_model_service_quote_submit_after>
            <observers>
                <webtex_giftcards_observer_checkout_type_onepage_save_order_after>
                    <type>singleton</type>
                    <class>giftcards/observer</class>
                    <method>checkoutTypeOnepageSaveOrderAfter</method>
                </webtex_giftcards_observer_checkout_type_onepage_save_order_after>
            </observers>
        </sales_model_service_quote_submit_after>

        <core_block_abstract_to_html_after>
            <observers>
                <webtex_giftcards_observer_checkpriceiszero>
                    <type>singleton</type>
                    <class>giftcards/observer</class>
                    <method>checkpriceiszero</method>
                </webtex_giftcards_observer_checkpriceiszero>
            </observers>
        </core_block_abstract_to_html_after>
        <sales_quote_collect_totals_after>
            <observers>
                <webtex_giftcards_discount_observer_testdiscountquote>
                    <type>singleton</type>
                    <class>giftcards/discount_observer</class>
                    <method>testDiscountQuote</method>
                </webtex_giftcards_discount_observer_testdiscountquote>
            </observers>
        </sales_quote_collect_totals_after>
    </events>
    <template>
        <email>
            <giftcards_email_email_template translate="label" module="giftcards">
                <label>Gift Card E-mail</label>
                <file>giftcard_email.html</file>
                <type>html</type>
            </giftcards_email_email_template>
            <giftcards_email_print_template translate="label" module="giftcards">
                <label>Gift Card Print</label>
                <file>giftcard_print.html</file>
                <type>html</type>
            </giftcards_email_print_template>
            <giftcards_email_offline_template translate="label" module="giftcards">
                <label>Gift Card Offline</label>
                <file>giftcard_offline.html</file>
                <type>html</type>
            </giftcards_email_offline_template>
            <giftcards_email_confirm_template translate="label" module="giftcards">
                <label>Gift Card Confirm</label>
                <file>giftcard_confirm.html</file>
                <type>html</type>
            </giftcards_email_confirm_template>
        </email>
    </template>
    <catalog>
        <product>
            <type>
                <giftcards module="giftcards">
                    <label>Gift Card</label>
                    <model>giftcards/product_type_giftcards</model> 
                    <price_model>giftcards/product_price</price_model>
                    <is_qty>1</is_qty>
                    <composite>0</composite>
                </giftcards>
            </type>
        </product>
    </catalog>
    <sales>
        <quote>
            <totals>
                <discount>
                    <class>giftcards/discount</class>
                    <after>subtotal,shipping</after>
                    <before>grand_total</before>
                </discount>
            </totals>
        </quote>
    </sales>
</global>
<adminhtml>
    <sales>
        <order>
            <create>
                <available_product_types>
                    <giftcards />
                </available_product_types>
            </create>
        </order>
    </sales>
</adminhtml>
<default>
    <giftcards>
        <email>
            <email_template>giftcards_email_email_template</email_template>
            <print_template>giftcards_email_print_template</print_template>
            <offline_template>giftcards_email_offline_template</offline_template>
            <confirm_template>giftcards_email_confirm_template</confirm_template>
        </email>
    </giftcards>
</default>
<adminhtml><layout><updates><blog><file>webtex/giftcards/giftcards.xml</file></blog></updates></layout></adminhtml>
<crontabs>
    <jobs>
        <schedule><cron_expr>0 1 * * *</cron_expr></schedule>
        <run><model>giftcards/observer::sendEmailByDeliveryDate</model></run>
    </jobs>
</crontabs>
</config>

ありがとう

4

8 に答える 8

2

このエラーに 2 回遭遇しましたが、どちらの場合も、xml ファイル内に問題がありました。

私の問題はタグを閉じていませんでした(例):

<frontend>
    <routers>
        <!-- ... -->
    <routers>

そしてmodule、間違った方法で属性を指定します (でetc/adminhtml.xml):

<config>
    <menu>
        <report>
            <children>
                <foo_bar translate="title" module="bar"> <!-- module has to be lower case here and without the package name. Foo_Bar or Bar are wrong and cause the error. -->
                    <title>My own report</title>
                    <action>adminhtml/bar</action>
                </foo_bar>
            </children>
        </report>
    </menu>
</config>

上記のコードのコメントに注意してください。

残念ながら、xml ファイルのタイプミスや間違いをチェックする簡単な方法はありませんが、1 つの方法は、コードを部分的にコメントアウトして、エラーが解消されるかどうかを確認することです。

それが役に立てば幸い。

于 2014-01-22T14:09:00.143 に答える
1

管理者 > システム > ツール > コンパイルからコンパイルが有効になっているかどうかを確認してください。コンパイルを無効にせずに拡張機能を追加した場合、この問題が発生する可能性があります。キャッシュをクリアして、コンパイル プロセスを再実行します。これで問題が解決することを願っています。

于 2014-09-17T05:13:37.653 に答える
0

フロントエンド ノードに frontName を追加するのを忘れた

   <frontend>
            <routers>
                <giftcards>
                    <use>standard</use>
                    <args>
                        <module>Webtex_Giftcards</module>
                        <frontName>giftcards</frontName>
                    </args>
                </giftcards>
                <checkout>
                  <args>
                     <modules>
                         <Webtex_Giftcards before="Mage_Checkout">Webtex_Giftcards</Webtex_Giftcards>
                     </modules>
                 </args>
                </checkout>
            </routers>
            <layout>
                <updates>
                    <giftcards>
                        <file>giftcards.xml</file>
                    </giftcards>
                </updates>
            </layout>
        </frontend>

これがあなたを助けることを願っています

于 2013-10-25T15:29:44.617 に答える
0

このエラーは、オートローダー ファイルが原因で発生します。これを解決するには、ファイル名に「_」を使用しないでください。特に config.xml では、「/」に置き換えられ、そのようなエラーがスローされるためです。

例: giftcard_confirm.html

使用目的: giftcardconfirm.html

于 2014-06-03T07:34:33.983 に答える