¿Hay alguna forma de enumerar todas las reescrituras y quizás otros conflictos potenciales además de revisar todos los archivos de configuración? Tengo que analizar algunos proyectos con muchas extensiones y modificaciones personalizadas y me gustaría automatizar tanto como sea posible.
Lo más importante es detectar extensiones que reescriban la misma clase, pero también me gustaría tener una lista de todas las reescrituras, para mantener una visión general. Por el momento mantengo esta lista manualmente en una hoja de cálculo.
Encontré esta extensión ("Conflicto de extensión") en Magento Connect, pero a juzgar por las revisiones y las notas de la versión, parece estar desactualizada.
magento-1
extensions
overrides
configuration
code-analysis
Fabian Schmengler
fuente
fuente
grep
Respuestas:
Echa un vistazo a la utilidad n98-magerun :
También puede registrar los conflictos en un archivo XML de estilo JUnit para su posterior análisis, por ejemplo en un servidor de integración continua.
Descargo de responsabilidad: semi-self-link / Estoy involucrado en ese proyecto
fuente
Aquí una pequeña línea que te ofrece todas las reescrituras activas:
Para limitarlo por tipo de objeto, agregue modelos, bloques o ayudantes a xpath respectivamente.
Por ejemplo:
fuente
Aquí hay un pequeño script que utilizo para verificar si se sobrescriben algunos modelos, bloques o ayudantes. Desafortunadamente, no funciona para los controladores y también tiene en cuenta los módulos deshabilitados. Pero desde mi punto de vista, esto no es gran cosa.
La idea principal es analizar los archivos de configuración y buscar la
<rewrite>
etiqueta. Crea un archivo php en el mismo nivel queindex.php
. Llamémoslorewrites.php
, con este contenido:al llamarlo en un navegador, debería ver algo como esto:
Esto significa que el modelo
'core/layout'
es sobrescrito porNamespace_Module_Model_Core_Layout
Si tiene 2 o más valores en la matriz ['core / layout'] significa que hay un conflicto.
Y puede identificar fácilmente el módulo que sobrescribe algo basado en
Namespace
yModule
fuente
He combinado la respuesta y obtuve una buena solución
fuente
Tal vez un poco sobrecarga pero es bueno trabajar con la recopilación de datos varien ... código de https://github.com/firegento/firegento-debug
Para la salida puede usar ...
fuente