Спасибо, но в изменении кода с помощью патчей я вижу еще больше проблем, чем с vqmod:
как уже писали выше, - патчем нельзя изменить файл, уже измененный другим патчем. Это не просто проблема, это огромная проблема, потому что ситуация, когда модуль устанавливается на голый движок достаточно редка, обычно на сайте установлено пару десятков модулей, а такие файлы как контроллер товара или категории меняются много раз. И конфликтов будет больше, чем в vqmod, потому что в vqmod конфликты будут только если 2 vqmod меняют один и тот же код, а если меняется разные куски кода то конфликта на будет, то в патчах будет конфликт если 2 пачта меняют 1 файл в любом месте, так как патч привязывается к конкретным строкам в файле, а не к коду.
сложность использования. Если для vqmod нужно просто скопировать файл в нужную папку и в идеальном варианте все будет работать, то наложить патч пользователь с фтп доступом к сайту просто не сможет + для этого нужно знать дополнительные команды + для windows (а это 99% пользователей) нужно устанавливать доп. софт. А vqmod просто копируется файл и все работает.. сложность исправления конфликтов между 2 патчами. Если vqmod файл можно открыть и изменить его то сделать это с патчем будет почти невозможно так как патч создает программно с конкретными номерами строк, чексумой итд.
Патчи это больше инструмент для программистов, который используется для каких-то единичных изменений, а не инструмент массового использования во всех модулях для обычных пользователей, это будет еще хуже, чем с vqmod.
Простого ответа на вопрос "Как изменить файлы движка и избежать всех конфликтов?" НЕТУ. Если бы такое простое решение было, то оно бы уже наверное использовалось всеми движками. Но почему-то никто это не использует. Вместо этого все движки и фреймворки, с которыми я работал, развивают системы хуков и событий. Потому что это единственно правильное решение, потому что только с помощью такого решения можно решить проблему конфликтов. В Друпале, например, может быть установлено 50 модулей на сайте и все установятся без единого конфликта. Для примера в опенкарте можно установить аж 2 модуля и они уже не будут работать вместе.
В опенкарте тоже появилась система Событий, она пока не очень развита, но это будущее опенкарта потому что этим путем также пошли все другие движки, а не путем vqmod или патчей.
Если кто-то знает другие движки, где основным инструментом для изменения движка при создании модулей используется аналог vqmod или патчи - напишите. Подозреваю, что таких или нету вообще или это единичные и малопопулярные движки на начальной стадии своего развития.