Coding FAQ

This page is a compilation of frequently asked coding questions by the Magento Community.

What do I need to know to work with the framework?

In Magento 2, how can my extension distinguish between the Magento Open Source and the Magento Commerce?

The correct edition can be obtained through \Magento\Framework\App\ProductMetadataInterface::getEdition.

In Magento Open Source that interface maps to the concrete implementation Magento\Framework\AppInterface\ProductMetadata. However, in Magento Commerce, the Commerce module will override that mapping and the interface will be implemented by \Magento\Enterprise\Model\ProductMetadata.

Just relying on the interface through dependency injection will get you the right class, and calling “getEdition” will return the right answer.

How do I configure my module so that it appears in a specific place on the Admin?

Use the <Module Directory>/etc/adminhtml/menu.xml file to configure from where on the Admin your extension is accessible.