Які модулі за замовчуванням я можу відключити?


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 - якщо вам не потрібен API REST
  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 - якщо вам не потрібен API REST
  • 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 . Якщо у вас проблеми (читайте винятки) під час відключення певних модулів, можливо, для вас буде можливим використовувати модельний модуль. Хоча я не знаю жодних тестів на ефективність щодо цього модуля. Було б цікаво дізнатися, чи є з цим якісь проблеми з продуктивністю.


виглядає дуже цікавим проектом спасибі за спільний доступ
Fra

3

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

Дякую Саймону за згадку :-)

Під час розробки Модулю макету я натрапив на багато дивних випадків різних модулів у різних місцях.

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

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

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

Можна навіть відключити Mage_Shipping. Я досі не можу з’ясувати приклад використання для того, для чого це добре ;-)

Якщо ви також намагалися створити макет для відключеного та видаленого модуля Mage_Payment, але це, безумовно, неможливо. Через 8-19 годин я здався.

За допомогою модуля Mock ви можете створити власну версію https://github.com/colinmollenhour/magento-lite


Mage_Shippingможе бути відключена , якщо ви продаєте тільки сервіс або завантажуються продуктів
FrA

Mage_GoogleCheckout можна відключити в 1.8, але я думаю, ви також можете видалити атрибут продукту (available_for_googlecheckout або щось подібне).
Маріус

Я думаю, що Мок - чудова і розумна ідея! Чи бачите ви якусь проблему з ліцензією щодо використання Magento як свого роду рамки ... яка межа ліцензії, на вашу думку?
Фра

3

Я хотів би зазначити щось, що я виявив сьогодні стосовно вимкнення модулів маг і ACL. Якщо ви використовуєте роль з дозволами, встановленими на "Усі", і ви вимикаєте модуль Core Mage, швидше за все, код модуля все одно буде працювати і щось порушувати.

У нас немає потреби в Mage_Newsletter, оскільки ми використовуємо індивідуальне рішення, тому я відключив Mage_Newsletter в Mage_All.xml. Однак це призвело до того, що панель адміністратора клієнта зламалася, оскільки адміністратор все ще намагався запустити код у Mage_Newsletterмодулі.

Проблема полягає в тому, як ACL перевіряє дозволи. У моєму випадку всередині Tabs.phpкласу блоків клієнтів код, що генерує вкладку бюлетеня, інкапсульований у межах перевірки дозволів ACL. Оскільки Mage_Newsletterмодуль вимкнено, ці параметри ACL більше не відображаються з меню дозволів системної ролі.

Однак , якщо для дозволу вашої ролі встановлено значення "всі", Magento не надає літаючому щуру позаду, чи модуль активний чи ні. Він поверне true (дозвіл дозволений), що дозволить запускати будь-яку логіку, яка перебуває у відкритому режимі, навіть якщо наміри будуть пропущені.

Якщо ви хочете відключити основні модулі, ви не можете використовувати "все" для дозволів ACL ролі. Ви повинні скористатися параметром "custom", а потім вручну надати ролі всі необхідні дозволи. Це єдиний спосіб (який я знайшов) переконатися, що Magento правильно перевіряє дозволи на відключені модулі.


1
Приємне спостереження. +1 за висновками, пов’язаними з ACL, та за "літаючих щурів позаду"
Маріус
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.