A veces es necesario anular las clases principales para obtener más funcionalidad o hacer que algunas funciones centrales funcionen de otra manera. ¿Hay alguna forma de anular las clases principales? Si es posible, ¿qué problemas puedo enfrentar al anularlos?
20
Respuestas:
Sí, es posible.
Puede usar un complemento del sistema para anular las clases, lea este enlace y esto y esto
Dos problemas que enfrentará:
necesita anular toda la clase (no solo partes de ella)
Si el núcleo se actualiza y la clase también se actualiza / cambia, debe actualizar su anulación (si es necesario).
fuente
Creé un complemento hace un tiempo que le permite anular las clases principales, pero aún es víctima de los problemas que @jackJoe señaló en su respuesta. Sin embargo, le permite hacer las anulaciones limpiamente.
https://gist.github.com/dongilbert/3237387
fuente
components/com_content/models/articles.php
.Para usuarios de Joomla 3, verifíquelos. Te ayudará.
Anular clases de MVC en Joomla 3
Complemento: https://github.com/ghazal/plg_mvcoverride
http://docs.joomla.org/How_to_override_the_component_mvc_from_the_Joomla!_core
Gracias /joomla//users/270/ghazal
fuente
Estuve en este durante mucho tiempo y le prometí a Don que una vez que termine, daré más detalles al respecto.
Necesitaba anular Joomla MVC para los componentes y decirle a Joomla que busque anulaciones en mi carpeta html del complemento también, no solo dentro de la carpeta html de la plantilla.
Lo que nunca me gustó es cuando los desarrolladores realmente toman la clase predeterminada de Joomla y se meten con ella, así que prefiero extender esa clase si puedo, en lugar de frenar algo.
Mi proceso hace lo siguiente.
Aquí está la imagen más bien http://prntscr.com/3d9syq
Las primeras partes en el fragmento a continuación están verificando dónde está el usuario, si está a punto de actualizar Joomla, estoy eliminando los archivos de clase temporal que se crearon para asegurarme de que obtengamos nuevos cuando se complete la actualización, que se ocupa del número de JackJoe 2)
fuente