Есть ли способ перечислить все переписанные и, возможно, другие потенциальные конфликты, кроме просмотра всех файлов конфигурации? Я должен проанализировать некоторые проекты с большим количеством расширений и пользовательских модификаций и хотел бы максимально автоматизировать это.
Самым важным является обнаружение расширений, которые переписывают один и тот же класс, но я хотел бы также иметь список всех переписываний, чтобы сохранить обзор. На данный момент я поддерживаю этот список вручную в электронной таблице.
Я обнаружил это расширение («Extension Conflict») в Magento Connect, но, судя по отзывам и примечаниям к выпуску, оно устарело.
magento-1
extensions
overrides
configuration
code-analysis
Фабиан Шменглер
источник
источник
grep
Ответы:
Посмотрите на утилиту n98-magerun :
Вы также можете записать конфликты в XML-файл стиля JUnit для дальнейшего анализа, например, на сервере непрерывной интеграции.
Отказ от ответственности: полу-самостоятельная ссылка / я участвую в этом проекте
источник
Вот небольшая строчка, которая дает вам все активные переписывает:
Чтобы ограничить его типом объекта, добавьте модели, блоки или помощники в xpath соответственно.
Например:
источник
Вот небольшой скрипт, который я использую, чтобы проверить, не перезаписаны ли какие-либо модели, блоки или помощники. К сожалению, он не работает для контроллеров и учитывает также отключенные модули. Но с моей точки зрения это не имеет большого значения.
Основная идея заключается в том, чтобы проанализировать файлы конфигурации и найти
<rewrite>
тег. Создайте файл php на том же уровне, что иindex.php
. Давайте назовем этоrewrites.php
следующим содержанием:при вызове в браузере вы должны увидеть что-то вроде этого:
это означает, что модель
'core/layout'
перезаписываетсяNamespace_Module_Model_Core_Layout
Если у вас есть 2 или более значений в массиве ['core / layout'], это означает, что существует конфликт.
И вы можете легко определить модуль, который перезаписывает что-то на основе
Namespace
иModule
источник
я объединил оба ответа и получил хорошее решение
источник
Может быть, немного накладных расходов, но приятно работать с разным сбором данных ... код из https://github.com/firegento/firegento-debug
Для вывода вы можете использовать ...
источник