module-toolkit/adminhtml-helper

1.0.0 2025-07-31 18:02 UTC

This package is auto-updated.

Last update: 2025-07-31 18:06:16 UTC


README

  1. Step 1 Usage
namespace Custom\Module\Model;

use ModuleToolkit\AdminhtmlHelper\Model\GridCollectionInterface;

class GridCollection implements GridCollectionInterface
{
 //implement current interface
}
namespace Custom\Module\Import;

use ModuleToolkit\AdminhtmlHelper\Model\ImportSaveHandlerInterface;

class CustomSaverHandler implements ImportSaveHandlerInterface
{
 //implement current interface

}
  1. Step 2 adminhtml/di.xml
<virtualType name="Custom\Module\Model\EntityPagerConfig"
                 type="ModuleToolkit\AdminhtmlHelper\Model\PagerConfig">
    <arguments>
        <argument name="request" xsi:type="object">ModuleToolkit\AdminhtmlHelper\Model\HttpRequest</argument> 
        <argument name="gridCollection" xsi:type="object">Custom\Module\Model\GridCollection</argument> 
    </arguments>
</virtualType>

<virtualType name="Custom\Module\Block\Adminhtml\EntityGrid"
                 type="ModuleToolkit\AdminhtmlHelper\Block\Adminhtml\Grid">
    <arguments>
        <argument name="pagerConfig" xsi:type="object">Custom\Module\Model\EntityPagerConfig</argument> 
    </arguments>
</virtualType>

<virtualType name="Custom\Module\Block\Adminhtml\EntityPager"
                 type="ModuleToolkit\AdminhtmlHelper\Block\Adminhtml\Pager">
    <arguments>
        <argument name="pagerConfig" xsi:type="object">Custom\Module\Model\EntityPagerConfig</argument> 
    </arguments>
</virtualType>

<!-- FILTERS -->
<virtualType name="Custom\Module\Block\Adminhtml\EntityFilters"
             type="ModuleToolkit\AdminhtmlHelper\Block\Adminhtml\Filters">
    <arguments>
        <argument name="pagerConfig" xsi:type="object">Custom\Module\Model\EntityPagerConfig</argument>
    </arguments>
</virtualType>
<!-- FILTERS -->

<!-- Import -->
<type name="ModuleToolkit\AdminhtmlHelper\Model\ImportProcessor">
    <arguments>
        <argument name="importConfigs" xsi:type="array">
            <item name="custom_manager_import_config" xsi:type="object">Custom\Module\Import\CustomImportConfig</item>
        </argument>
    </arguments>
</type>
<virtualType name="Custom\Module\Import\CustomImportConfig"
             type="ModuleToolkit\AdminhtmlHelper\Model\ImportConfig">
    <arguments>
        <argument name="saveHandler" xsi:type="object">Custom\Module\Import\CustomSaverHandler</argument>
        <argument name="identity" xsi:type="string">custom_manager_import_config</argument>
        <argument name="importExampleFile" xsi:type="string">Custom_Module::data/import-example/custom-example.csv</argument>
    </arguments>
</virtualType>
<virtualType name="Custom\Module\Block\Adminhtml\CustomImport"
             type="ModuleToolkit\AdminhtmlHelper\Block\Adminhtml\Import"
>
    <arguments>
        <argument name="importConfigIdentity" xsi:type="string">custom_manager_import_config</argument>
    </arguments>
</virtualType>
<!-- Import -->

Usage custom_entity_layout.xml

<?xml version="1.0" encoding="UTF-8"?>
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <body>
        <referenceContainer name="content">
            <block name="custom"
                   class="Custom\Module\Block\Adminhtml\List"
                   template="Custom_Module::list.phtml"
            >
                <block name="entity.grid" class="Custom\Module\Block\Adminhtml\EntityGrid"/>
                <block name="entity.pager" class="Custom\Module\Block\Adminhtml\EntityPager"/>
                <block name="entity.filters" class="Custom\Module\Block\Adminhtml\EntityFilters">
                    <block name="import" class="Custom\Module\Block\Adminhtml\CustomImport"/>
                </block>
            </block>
        </referenceContainer>
    </body>
</page>