app / code / core
- содержит модули, которые распространяются вместе с базовым Magento и составляют основные функциональные возможности.
app / code / community
- содержит модули, разработанные сторонними разработчиками
app / code / local
- содержит разработанные вами пользовательские модули, включая переопределения кода Mage.
Почему Magento использует два пула кода для нашей настройки?
Magento фактически использует три пула кода. Он будет загружен локальным первым, вторым сообществом и третьим ядром . Он использует три для организационных целей и для решения проблем, когда два + сторонние расширения пытаются переписать одно и то же. Например, если у вас есть два расширения в app / code / community, пытающихся переписать одну и ту же модель, вы можете просто создать расширение в app / code / local и объединить логику двух расширений.
Почему Magento не использует единый пул кода для настройки?
Это было сделано таким образом, чтобы попытаться организовать код. Кроме того, когда у вас возникают конфликты со сторонними организациями, местный администратор может помочь решить эти проблемы. Местные также замечательно иметь расширения, которые когда-либо будет только у этого сайта.
local
пул кода, чтобы избавиться от всех проблем.core :
Этот пул кода принадлежит команде разработчиков ядра Magento. Таким образом, вы не должны вносить никаких изменений в этот пул кода.community :
Это принадлежит разработчикам сообщества Magento (включая любого разработчика, который разрабатывает сторонние расширения). Если вы создаете какие-либо сторонние расширения, вы можете использовать этот пул кода для этого.local :
Это можно использовать, если вы хотите внести какие-либо изменения (добавить новые функциональные возможности / переопределение расширений / основные модификации и т. Д.) Специально для своего магазина Magento и не хотите делиться им с сообществом. В то же время вы можете переопределить функциональность в пуле кода ядра и сообщества.источник
Опишите Magento Codepools
Основной бассейн
Прежде всего, в этой папке хранится весь код, который делает Magento таким мощным, гибким и привлекательным. Главное правило развития Magento заключается в том, что вы никогда не должны вносить в него никаких изменений. Другими словами, эта папка принадлежит только разработчикам ядра Magento, и если вы собираетесь что-то редактировать в этом пуле, их злой дух может наказать вас даже через дисплей.
Общественный бассейн
Эта папка полностью принадлежит сообществу разработчиков. Это подходящее место для сотен сторонних расширений, как бесплатных, так и платных, которые можно найти в MagentoConnect или можно найти в магазине разработки расширений. В общем, если вы установили какое-либо расширение, оно должно быть только в приложении / коде / сообществе /.
Локальный бассейн
Если у вас есть собственный магазин на основе Magento и вы хотите сделать все самостоятельно, или вы являетесь разработчиком Magento и хотите каким-то образом изменить логику, локальный пул - это место, где все должно быть сделано. Если вы хотите переопределить расширения, блоки или методы Magento, скопируйте необходимые папки из основного пула и делайте все, что вы склонны делать. Примените то же правило к пользовательским расширениям, которые создаются специально для веб-сайта - весь код должен находиться в локальном пуле.
источник
Добавление всего вышеперечисленного просто для определения приоритетов и наличия модульности. Вы можете проверить то же самое в Mage.php.
Загрузка пулов кодов с
Поэтому сначала Local вызывается, затем community, затем core и magento не найдут какие-либо файлы core, а затем будут искать в папке lib, содержащей файлы ядра Zend-Framework.
источник
Лучшее объяснение, которое у меня есть, заключается в том, что если вы хотите распространять свои расширения среди более широкой аудитории, например, через Magento Connect, вы можете разместить их в сообществе.
Это позволило бы другому разработчику переопределить поведение, поместив класс в локальную папку.
источник