سؤال

In How to disable Magento 2 reviews , we tried to disable the module Magento_Review through the module:disable command

But if you do that, in 2.1, you will have multiples errors of dependency.

./magento module:disable Magento_Review

Unable to change status of modules because of the following constraints:
Cannot disable Magento_Review because modules depend on it:
Magento_Store: Magento_Store->Magento_Catalog->Magento_Customer->Magento_Review
Magento_AdminNotification: Magento_AdminNotification->Magento_Backend->Magento_Customer->Magento_Review
Magento_Eav: Magento_Eav->Magento_Backend->Magento_Customer->Magento_Review
Magento_Directory: Magento_Directory->Magento_Backend->Magento_Customer->Magento_Review
Magento_Theme: Magento_Theme->Magento_Customer->Magento_Review
Magento_Customer: Magento_Customer->Magento_Review
Magento_Indexer: Magento_Indexer->Magento_Backend->Magento_Customer->Magento_Review
Magento_Cms: Magento_Cms->Magento_Theme->Magento_Customer->Magento_Review
Magento_CatalogImportExport: Magento_CatalogImportExport->Magento_Customer->Magento_Review
Iazel_RegenProductUrl: Iazel_RegenProductUrl->Magento_CatalogUrlRewrite->Magento_CatalogImportExport->Magento_Customer->Magento_Review
Magento_Backend: Magento_Backend->Magento_Customer->Magento_Review

For Magento_Customer, there is no <Magento_Review/> in the <depends/> node of module.xml . But i think it is because there are some blocks in Mage_Customer that extends Mage_Reviews

<?php
namespace Magento\Customer\Block\Adminhtml\Edit\Tab;

class Reviews extends \Magento\Review\Block\Adminhtml\Grid

So... the circular check is doing the job all alone.

So my question : is the <depends/> node that important ? Or is it just "informational" ?

Note: i know it is supposed to impact the load order. But the fact is that even if you put a module in <depends>, if yours is alphabetically before it, it will load BEFORE it. The <sequence> node does a better job for that. The proof of that is to rewrite a di.xml, yours will be read BEFORE the one in <depends/> . Try my solution in How to disable Magento 2 reviews and replace the <sequence/> by <depends/> : it will not work.

هل كانت مفيدة؟

المحلول

<depends/> node does not exist/supports in Magento 2 module.xml files(looks like it present only in early version of Magento). Module dependencies declared in composer.json, not in module.xml.

If you review composer.json from Customer module you will see dependency on Review module. It's why you cannot disable this module

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top