Domanda

Ho effettuato modifiche ai file magenti di recente, ma tali modifiche sono state sovrascritte dopo un minore aggiornamento a Magento CE 1.9.2.4 dalla versione 1.9.2.3.Ora devo fare di nuovo quei cambiamenti.Questi sono cambiamenti obbligatori per il mio negozio e sono tenuti a creare simboli di rupia (indiana) appaiono nelle fatture magentali.Il carattere predefinito non supporta il simbolo.Come posso apportare quelle modifiche per rimanere permanenti nel file principale?

È stato utile?

Soluzione

È sufficiente copiare il file principale (che si desidera sovrascrivere) e incollarlo in app/code/local/Mage Mantenendo lo stesso percorso di quel file PHP. Quindi è possibile iniziare a modificare questo file, Magento leggerà il tuo file anziché il file principale. Di seguito è riportato un esempio: => Se si desidera sovrascrivere app/code/core/Mage/Catalog/Block/Product.php è necessario semplicemente essere necessario inserire Product.php in app/code/local/Mage/Catalog/Block/Product.php. Fare solo questo lascerà Magento leggere questo file dalla cartella locale anziché alla cartella Core.

Motivo per tale comportamento della lettura dalla cartella locale alla cartella Core è: Questo processo è chiamato funzionalità del nucleo Magento promemoria e si basa sul fatto che Magento imposta il suo PHP include percorsi per il primo sguardo in app / codice / locale / quindi app/code/community/ e infine in app/code/core/. Ciò ha l'effetto che qualsiasi file con lo stesso nome posto sotto lo spazio del nome locale o comunitario prenderà la precedenza nel caricamento, quindi, possiamo sovrascrivere quasi tutti i file core in questo modo.

Demerits di utilizzo di un approccio sopra:

    .
  1. Per una cosa, dobbiamo sovrascrivere il file di base completo e copiare tutte le funzioni di classe. Una volta che il file sovrascritto è in posizione, questo sarà il file verrà utilizzato al posto del file del core magento sempre. Dato che la maggior parte delle classi core contengono diverse e molte volte un gran numero di metodi significa che stiamo effettivamente sovrascrivere tutti questi metodi nel nostro file.

  2. Questo approccio non è Aggiornamento magento amichevole, a causa dei motivi precedenti.

  3. Questo approccio non funziona per i controllori.

  4. Questo approccio è utile solo mentre i tuoi test / sviluppano il tuo modulo. Invece di scrivere un intero modulo, puoi scavalcare rapidamente la classe Core, vedere se le cose funzionano bene.

Altri suggerimenti

Evita di apportare modifiche ai file Magento Core, dovresti provare a sovrascriverlo nella tua piscina locale stessa.In questo modo, quando mai viene eseguito un aggiornamento, le tue modifiche non sono perse.

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