Вопрос

У Magento есть три кодовых пула:

  1. сообщество
  2. основной
  3. местный

Основной: Он содержит все модули по умолчанию Magento

Сообщество и местные: Мы используем эти пулы кодов для разработки нашей пользовательской модулей.

Теперь я сомневаюсь в этом:

  • Почему Magento использует два пула кода для нашей настройки?
  • Почему Magento не использует один пул кодов для настройки?

Может ли кто -нибудь объяснить об этом?

Это было полезно?

Решение

App/Code/Core- Удерживает модули, которые распространяются с базовым Magento и составляют основную функциональность.

приложение/код/сообщество- Удерживает модули, которые разработаны третьими участниками

приложение/код/локальный- Удерживает пользовательские модули, которые вы разработали, включая переопределение кода мага.

Почему Magento использует два кодовых пула для нашей настройки?

Magento фактически использует три кодовых пула. Он загрузится местный первый, сообщество Второе, и основной в третьих. Он использует три для организационных целей и помогает решить проблемы, когда два+ 3 -й лицевые расширения пытаются переписать то же самое. В качестве примера, если у вас есть два расширения в приложении/коде/сообществе, пытающихся переписать ту же модель, вы можете просто сделать расширение в приложении/код/локально и объединить две логики расширений вместе.

Почему Magento не использует одно кодовый пул для настройки?

Это было сделано, чтобы попытаться получить какую -то организацию кода. Кроме того, когда у вас есть сторонние конфликты, местные жители великолепны, чтобы помочь решить эти проблемы. Местные также здоровы иметь расширения, которые когда -либо будут иметь только этот сайт.

Другие советы

enter image description here

core : Этот пул кодов принадлежит команде разработчиков Magento Core. Таким образом, вы не должны вносить какие -либо изменения в этом пуле кода.

community : Это принадлежит разработчикам сообщества Magento (включая любого разработчика, который развивает сторонние расширения). Если вы создаете какие -либо сторонние расширения, чтобы вы могли использовать этот пул кодов для этого.

local : Это может быть использовано, если вы хотите внести какие -либо изменения (добавить новые функциональные возможности / переоценки расширения / модификации основных функций и т. Д.) Специально для вашего магазина Magento и не хотят делиться им с сообществом. В то же время вы можете переопределить функциональность в пулах кодов основных и сообщества

Опишите Magento Codepools

Основной бассейн

Прежде всего, эта папка хранит весь код, который делает Magento таким мощным, гибким и прекрасным. Главное правило разработки Magento заключается в том, что вы никогда не должны вносить в него никаких изменений. Другими словами, эта папка принадлежит только разработчикам Magento Core, и если вы собираетесь редактировать что -либо в этом пуле, их злой дух может наказать вас даже через показ.

Общественный бассейн

Эта папка полностью принадлежит разработчикам сообщества. Это подходящее место для сотен 3 -й наращивания, как бесплатных, так и оплачиваемых, которое можно найти в MagentoConnect или доступно в магазине разработки расширений. Таким образом, в основном, если вы установили какое -либо расширение, оно должно быть в App/Code/Community/Only.

Местный бассейн

Если у вас есть собственный магазин на основе Magento и вы хотите сделать все самостоятельно, или вы являетесь разработчиком Magento, и у вас есть цель как-то изменить логику, местный бассейн-это место, где все должно быть сделано. Если вы хотите переопределить расширения, блоки или методы Magento, скопируйте необходимые папки из бассейна Core и сделайте все, что вы склонны делать. Примените то же правило для пользовательских расширений, которые создаются специально для веб -сайта - весь код должен быть в локальном пуле.

Добавление всего вышеперечисленного в простом его для создания приоритетов и модульности. Вы можете проверить то же самое в Mage.php.

Загрузка пулов кодов с

 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'local';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'community';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'core';
 $paths[] = BP . DS . 'lib';

Таким образом, сначала Local Call Then Community Then Core и Magento не найдут никаких основных файлов, а затем он будет искать в папке LIB, которые содержат файлы Zend-Framework Core

Лучшее объяснение, которое у меня есть, это то, что если вы стремитесь распространять свои расширения для более широкой аудитории, например, через Magento Connect, вы можете поместить его в сообщество.

Это позволило бы другому разработчику переопределить поведение, поместив класс в локальную папку.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top