Existe uma maneira de listar todas as reescritas e talvez outros conflitos em potencial além de revisar todos os arquivos de configuração? Eu tenho que analisar alguns projetos com muitas extensões e modificações personalizadas e gostaria de automatizar o máximo possível.
O mais importante é detectar extensões que reescrevam a mesma classe, mas eu gostaria de ter também uma lista de todas as reescritas, para manter uma visão geral. No momento, mantenho essa lista manualmente em uma planilha.
Eu encontrei esta extensão ("Conflito de extensão") no Magento Connect, mas a julgar pelos comentários e notas de lançamento, parece estar desatualizada.
magento-1
extensions
overrides
configuration
code-analysis
Fabian Schmengler
fonte
fonte
grep
Respostas:
Dê uma olhada no utilitário n98-magerun :
Você também pode registrar os conflitos em um arquivo XML do JUnit Style para análises adicionais, por exemplo, em um servidor de integração contínuo.
Isenção de responsabilidade: semi-auto-link / Estou envolvido nesse projeto
fonte
Aqui está uma pequena linha que fornece todas as reescritas ativas:
Para limitá-lo por tipo de objeto, adicione modelos, blocos ou auxiliares ao xpath, respectivamente.
Por exemplo:
fonte
Aqui está um pequeno script que eu uso para verificar se algum modelo, bloco ou auxiliar é substituído. Infelizmente, ele não funciona para controladores e leva em conta os módulos desativados também. Mas, do meu ponto de vista, isso não é grande coisa.
A idéia principal é analisar os arquivos de configuração e procurar a
<rewrite>
tag. Crie um arquivo php no mesmo nível queindex.php
. Vamos chamá-lorewrites.php
, com este conteúdo:ao chamá-lo em um navegador, você verá algo assim:
isso significa que o modelo
'core/layout'
é substituído porNamespace_Module_Model_Core_Layout
Se você tiver 2 ou mais valores na matriz ['core / layout'], isso significa que há um conflito.
E você pode identificar facilmente o módulo que substitui algo com base
Namespace
eModule
fonte
eu combinei a resposta e consegui uma boa solução
fonte
Talvez um pouco sobrecarregado, mas é bom trabalhar com a coleta de dados variados ... código de https://github.com/firegento/firegento-debug
Para saída, você pode usar ...
fonte