Domanda

Ho provato a riscrivere la Mage_CatalogRule_Helper_Data.
Ma in qualche modo il mio codice non viene utilizzato al posto del aiutante originale.
Qualcuno può segnalare l'errore che ho fatto così posso capire cosa è andato storto, come farlo correggere e quindi posso imparare a riscrivere più correttamente in futuro.
Btw. per quanto posso vedere il modulo viene attivato, in modo che il Test_CatalorRule.xml dovrebbe essere corretto.

\ App \ etc \ moduli \ Test_CatalogRule.xml

<config>
    <modules>
        <Test_CatalogRule>
            <active>true</active>
            <codepool>local</codepool>
        </Test_CatalogRule>
    </modules>
</config>

\ app \ code \ locale \ Test \ CatalogRule \ etc \ config.xml

<config>
    <modules>
        <Test_CatalogRule>
            <version>1.0.0</version>
        </Test_CatalogRule>
    </modules>
    <global>
        <helpers>
            <catalogrule>
                <rewrite>
                    <data>Test_CatalogRule_Helper_Data</data>
                </rewrite>
            </catalogrule>
        </helpers>
    </global>
</config>

\ app \ code \ locale \ Test \ CatalogRule \ Helper \ Data.php

class Test_CatalogRule_Helper_Data extends Mage_CatalogRule_Helper_Data
{
    public function calcPriceRule($actionOperator, $ruleAmount, $price)
    {
        return 42;
    }
}

Grazie per qualsiasi aiuto

È stato utile?

Soluzione

Nel file di dichiarazione (etc/modules) questo è sbagliato:

<codepool>local</codepool>

Dovrebbe essere un P maiuscolo.

<codePool>local</codePool>

Questo è accaduto molto per me. Ora, quando creo una nuova estensione e aggiungere un file a etc/modules, quello che ho appena clone del file esistenti e modificare il testo, ma lasciare i tag come sono.
Off topic: questo accade molto con i tag <depends> nello stesso file. In molti casi si dice <depend> (senza il s alla fine).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top