Какие модули по умолчанию я могу отключить?

25

На этот вопрос Сандер Мангель и отвечает:

Отключение модулей - улучшение производительности?

Прежде всего, меньше модулей означает меньше кода для (потенциально) загрузки и обработки. Кроме того, многие модули, такие как, например, модуль Mage_Rss, выполняют много кода в фоновом режиме, например, для принудительного переиндексации определенных событий.

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

Другие полезные ресурсы:

Любое другое предложение модуля?
Какой модуль больше влияет на производительность?

ОБНОВИТЬ

Список обновлений с предложениями @Marius

  1. Mage_WishList - выглядит так, как будто он нарушает детали
  2. Mage_Rss
  3. Mage_PayPalUk
  4. Mage_Tag (когда не используется в проекте)
  5. Mage_Poll (причина, кто использует опросы в любом случае)
  6. Phoenix_Moneybookers
  7. Mage_Sendfriend
  8. Mage_Rating (если не требуется клиентом)
  9. Mage_Bundle (если не требуется клиентом)
  10. Mage_Downloadable (если не требуется клиентом)
  11. Mage_GiftMessage - выглядит, что вам нужно в 1.8 или детали продукта сломаются
  12. Mage_XmlConnect - если у вас нет / нужно мобильное приложение.
  13. Mage_Authorizenet
  14. Mage_Paypal (если не используется в качестве способа оплаты)
  15. Mage_Paygate (только если вы отключите Mage_Paypal, Mage_PaypalUk и Mage_Authorizenet)
  16. Mage_Weee (только если вы отключите Mage_XmlConnect также)
  17. Mage_Usa - только в ce-1.8.1.0. (см. ниже, почему)
  18. Mage_GoogleCheckout - можно отключить только в ce-1.8.1.0 и только если вы отключите Mage_Usa. Это не работает для предыдущих версий из-за этого http://www.magentocommerce.com/bug-tracking/issue/?issue=14359
  19. Mage_Oauth - если вам не нужен REST API
  20. Mage_Api
  21. Mage_Api2 - только если вы также отключите Mage_Oauth.
От
источник
Просто выяснил что-то трудным путем. Вы не можете отключить Mage_Wishlist. Если вы это сделаете, вы не сможете увидеть какие-либо данные клиента в бэкэнде.
Мариус
1
Будьте осторожны с отключением Mage_Weee. Это заставило мой магазин рассчитывать налоги дважды (Magento 1.9.2.1).
Симон

Ответы:

12

Я могу добавить к этому:

  • Mage_GiftMessage - швы это не отключается в 1.8
  • Mage_XmlConnect - если у вас нет / нужно мобильное приложение.
  • Mage_Authorizenet
  • Mage_Paypal (если не используется в качестве способа оплаты)
  • Mage_Paygate (Только если вы отключите Mage_Paypal, Mage_PaypalUk и Mage_Authorizenet)
  • Mage_Weee (только если вы отключите Mage_XmlConnect также)
  • Mage_Usa- только в . (см. ниже, почему)
  • Mage_GoogleCheckout- может быть отключен только в и только если вы отключите Mage_Usa. Это не работает для предыдущих версий из-за этого http://www.magentocommerce.com/bug-tracking/issue/?issue=14359
  • Mage_Oauth - если вам не нужен REST API
  • Mage_Api
  • Mage_Api2- только если вы отключите Mage_Oauthтакже.

Как правило, вы можете отключить (почти) любой модуль, но вы должны проверить, app/etc/modules/*.xmlесть ли другие модули в зависимости от модуля, который вы хотите отключить. Если нет никого, вы можете сделать это. Если есть, вы также должны отключить их.

Как исключение из общего правила, есть некоторые модули, которые могут сломать администратора, если вы отключили их из-за способа сборки Magento 1.x. Mage_Adminhtmlмодуль содержит ссылки на другие модули (например , клиент, продажа, ...). Похоже, в Magento 2.0 это будет изменено.

Мариус
источник
что насчет модуля API / API2 ... если он мне не нужен?
Фра
1
@Francesco. Ага. Вы правы. Я забыл о них. Я обновил ответ.
Мариус
Что делать, если мне не нужен экспедиционный модуль?
Фра
1
@Francesco. Смотрите мое последнее обновление, начиная с «Как правило»
Мариус
1
хм ... похоже, что это одно из "исключений" из правила
Мариус
3

Я хотел бы добавить ссылку на модуль Magento Mock от SchumacherFM . Если у вас есть проблемы (прочитайте исключения), когда вы отключаете определенные модули, это может быть решением для вас использовать фиктивный модуль. Хотя я не знаю ни одного теста производительности этого модуля. Было бы интересно узнать, есть ли проблемы с производительностью.

Саймон
источник
выглядит очень интересным проектом, спасибо, что поделились
Фра
3

Я до сих пор не могу комментировать, так как мне нужно повторение 50 ... так:

Спасибо Саймон за упоминание :-)

Во время разработки Mock Module я сталкивался со множеством странных случаев появления разных модулей в разных местах.

Моей целью было также полностью удалить файлы вместо простого <active>false</active>.

Вы не можете просто отключить, например, Mage_Adminnotifications, Mage_WishList, Mage_Tag, Mage_GoogleCheckout или Mage_GiftMessage, потому что некоторые константы и статические методы используются либо в Mage_Adminhtml, либо в некоторых модулях внешнего интерфейса.

Например, если вы отключите Mage_WishList или Mage_GiftMessage, раздел редактирования клиента adminhtml больше не будет загружаться.

Можно даже отключить Mage_Shipping. Я до сих пор не могу понять вариант использования для чего это хорошо ;-)

Если вы также пытались создать макет для отключенного и удаленного модуля Mage_Payment, но это определенно невозможно. После 8-19 часов я сдался.

С помощью модуля Mock вы можете создать свою собственную версию https://github.com/colinmollenhour/magento-lite.

Cyrill
источник
Mage_Shippingможно отключить, если вы продаете только услугу или загружаемые продукты
Фра
Mage_GoogleCheckout можно отключить в 1.8, но я думаю, что вы также удалили атрибут продукта (available_for_googlecheckout или что-то в этом роде).
Мариус
Я думаю, что Мок это отличная и умная идея! Видите ли вы какие-либо проблемы с лицензией, используя Magento в качестве своего рода фреймворка ... как вы думаете, каковы ограничения лицензии?
Фра
3

Я хотел бы указать на кое-что, что я обнаружил сегодня в отношении отключения Mage Modules и ACL. Если вы используете роль с разрешениями «Все» и деактивируете модуль Core Mage, скорее всего, код модуля все равно будет работать и что-то сломать.

У нас нет необходимости в Mage_Newsletter, так как мы используем нестандартное решение, поэтому я деактивировал Mage_Newsletter в Mage_All.xml. Однако это привело к разрушению панели Customer Adminhtml, поскольку администратор все еще пытался запустить код в Mage_Newsletterмодуле.

Проблема в том, как ACL проверяет разрешения. В моем случае, внутри Tabs.phpкласса блоков клиентов , код, генерирующий вкладку новостной рассылки, инкапсулирован в проверку прав доступа ACL. Поскольку Mage_Newsletterмодуль деактивирован, эти параметры ACL больше не отображаются с меню разрешений системной роли.

Однако , если разрешение вашей роли установлено на «все», Magento не дает летающей крысе позади, является ли модуль активным или нет. Он вернет true (разрешение разрешено), позволяя запускать любую стробированную логику, даже если намерение - пропустить ее.

Если вы хотите отключить основные модули, вы не можете использовать «all» для разрешений ACL роли. Вы должны использовать опцию 'custom', а затем вручную дать роли все необходимые разрешения. Это единственный способ (который я нашел) убедиться, что Magento правильно проверяет разрешения для деактивированных модулей.

Джонатан Элтгрот
источник
1
Хорошее наблюдение. +1 за выводы, связанные с ACL, и за «летающих крыс»
Мариус