module-toolkit / adminhtml-helper
N/A
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:magento2-module
Requires
- php: ~8.1.0||~8.2.0
- magento/framework: 103.0.*
- magento/module-backend: 102.0.*
- magento/module-config: 101.2.*
- magento/module-store: 101.1.*
- module-toolkit/table-manager: *
README
- 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 }
- 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>