magepulse/magento2-module-core

Core MagePulse Magento 2 Module

Maintainers

Package info

github.com/MagePulse/magento2-module-magepulse-core

Type:magento2-module

pkg:composer/magepulse/magento2-module-core

Statistics

Installs: 1 080

Dependents: 4

Suggesters: 0

Stars: 0

Open Issues: 1

1.2.0 2026-04-11 23:03 UTC

This package is auto-updated.

Last update: 2026-04-11 23:03:16 UTC


README

License Total Downloads Latest Stable Version

This is the core module required by MagePulse Magento 2 modules. It provides a shared admin menu under MagePulse in the Magento admin sidebar, and a modules listing page at MagePulse > Modules.

Adding a child module to the MagePulse admin menu

The MagePulse admin menu is built automatically from any installed module whose name starts with MagePulse_ (excluding MagePulse_Core itself). No extra DI configuration is needed — the menu plugin discovers child modules automatically.

1. Declare menu items (etc/adminhtml/menu.xml)

Add your module's menu items to your own menu.xml. The plugin collects any item whose ID starts with MagePulse_ but is not from MagePulse_Core, and whose action is not a system_config route (config links are added automatically — see step 2).

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
    <menu>
        <add id="MagePulse_Example::example_menu"
             title="Example Module"
             module="MagePulse_Example"
             resource="MagePulse_Example::menu"
             action="magepulse_example/index/index"
             parent="MagePulse_Core::magepulse_menu"
             sortOrder="30"/>
    </menu>
</config>

The plugin will clone this item and nest it under the MagePulse top-level menu. Titles longer than 50 characters are truncated automatically.

2. Add a system config section (etc/adminhtml/system.xml) — optional

If your module has a system configuration page, assign it to the magepulse tab. The plugin detects any config section under that tab and automatically appends a Configuration link below your module's menu items.

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">
    <system>
        <section id="magepulse_example" sortOrder="20"
                 showInDefault="1" showInStore="1" showInWebsite="1">
            <label>Example Module</label>
            <tab>magepulse</tab>
            <resource>MagePulse_Example::config</resource>
            <!-- ... your groups/fields ... -->
        </section>
    </system>
</config>

The section's <label> is used as the module's display title in the menu. The section's <resource> must be declared in your etc/acl.xml.