Modifique los cambios en los archivos principales para que permanezcan incluso después de las actualizaciones de Magento

magento.stackexchange https://magento.stackexchange.com/questions/106106

Pregunta

Recientemente hice cambios en los archivos de Magento Core, pero esos cambios se anularon después de una actualización menor a Magento CE 1.9.2.4 desde la versión 1.9.2.3.Ahora tengo que hacer esos cambios nuevamente.Estos son cambios obligatorios para mi tienda y son necesarios para que el símbolo de rupia (moneda india) aparezca en las facturas de Magento.La fuente predeterminada no admite el símbolo.¿Cómo puedo hacer que esos cambios permanezcan permanentes en el archivo principal?

¿Fue útil?

Solución

Simplemente puede copiar el archivo principal (que desea anular) y pegarlo en app/code/local/Mage manteniendo la misma ruta de ese archivo php.Luego puede comenzar a editar este archivo, magento leerá su archivo en lugar del archivo principal.A continuación se muestra un ejemplo:=> Si desea anular app/code/core/Mage/Catalog/Block/Product.php simplemente lo necesitas para poner Product.php en app/code/local/Mage/Catalog/Block/Product.php.Hacer solo esto permitirá que magento lea este archivo desde la carpeta local en lugar de desde la carpeta principal.

El motivo de este comportamiento de lectura de la carpeta local a la carpeta principal es:Este proceso se llama anulación de la funcionalidad principal de Magento y se basa en el hecho de que Magento configura sus rutas de inclusión PHP para buscar primero en app/code/local/ luego app/code/community/ y finalmente en app/code/core/.Esto tiene el efecto de que cualquier archivo con el mismo nombre colocado en el espacio de nombres local o comunitario tendrá prioridad en la carga, por lo tanto, podemos anular casi cualquier archivo principal de esta manera.

Desventajas del uso del enfoque anterior:

  1. Por un lado, debemos anular el archivo principal completo y copiar todas las funciones de clase.Una vez que el archivo anulado esté en su lugar, este será el archivo que se utilizará siempre en lugar del archivo principal de Magento.Dado que la mayoría de las clases principales contienen varios y muchas veces una gran cantidad de métodos, significa que estamos anulando efectivamente todos esos métodos en nuestro archivo.

  2. Este enfoque no es compatible con la actualización de Magento, debido a las razones anteriores.

  3. Este enfoque no funciona para los controladores.

Este enfoque solo es útil mientras prueba/desarrolla su módulo.En lugar de escribir un módulo completo, puede anular rápidamente la clase principal para ver si todo funciona bien.

Otros consejos

Evite realizar cambios en los archivos principales de MAGENTO, debe intentar sobrescribirlo en su propia piscina local.De esa manera, cuando se realiza una actualización, sus cambios no se pierden.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top