Magento 後臺 Configuration 下建立新的自定義模組

juanMay發表於2021-03-11

Magento2.3 的後臺 Configuration下建立新的自定義模組 May。我把這些程式碼放置到了 app/code/May/Core 模組下。

一、在 Core 資料夾下建立 etc 資料夾

  1. etc 資料夾下新建 adminhtml 資料夾,在 adminhtml 資料夾下建立檔案 menu.xml ,程式碼如下:
<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Backend:etc/menu.xsd">
    <menu>
        <add id="May" title="May" translate="title" module="May_Core" sortOrder="15" resource="May_Core::menu"/>
    </menu>
</config>
  1. adminhtml 資料夾下建立檔案 system.xml ,程式碼如下:
<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Config:etc/system_file.xsd">

    <system>
        <tab id="may" translate="label" sortOrder="200">
            <label>May</label>
        </tab>

        <section id="may_core_setting" translate="label" type="text" sortOrder="30" showInDefault="1" showInWebsite="1" showInStore="1">
            <label>Core Setting</label>
            <tab>may</tab>
            <resource>May_Core::may_core_setting</resource>
            <group id="flush" translate="label" type="text" sortOrder="5" showInDefault="1" showInWebsite="1" showInStore="1">
                <label>Flush</label>
                <field id="host" translate="label" type="text" sortOrder="10"  showInDefault="1" showInWebsite="1" showInStore="1">
                    <label>Flush Base Url</label>
                    <comment><![CDATA[Specify URL or , or placeholder.!]]></comment>
                </field>
            </group>

        </section>
    </system>
</config>
  1. etc 目錄下新建許可權檔案 acl.xml ,程式碼如下:
<?xml version="1.0" encoding="UTF-8"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Acl/etc/acl.xsd">
    <acl>
        <resources>
            <resource id="Magento_Backend::admin">
                <resource id="May_Core::core" title="May" sortOrder="10">
                    <resource id="May_Core::menu" title="May Menu" sortOrder="10"/>
                </resource>

                <resource id="Magento_Backend::stores">
                    <resource id="Magento_Backend::stores_settings">
                        <resource id="Magento_Config::config">
                            <resource id="May_Core::may_setting" title="May Setting"  sortOrder="20" >
                                <resource id="May_Core::may_core_setting" title="May Core Setting"  sortOrder="20" />
                            </resource>
                        </resource>
                    </resource>
                </resource>

            </resource>
        </resources>
    </acl>
</config>
  1. etc 目錄下,新建預設配置檔案 config.xml ,程式碼如下:
<?xml version="1.0"?>

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Store:etc/config.xsd">
    <default>
        <may_core_setting>
            <flush>
                <host>http://maymagento2.3.local</host>
            </flush>
        </may_core_setting>
    </default>
</config>
  1. etc 目錄下新建模組檔案 module.xml ,程式碼如下:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">

    <module name="May_Core" setup_version="0.0.1" >
        <sequence>
            <module name="Magento_Backend"/>
            <module name="Magento_Store"/>
        </sequence>
    </module>
</config>
  1. Core 資料夾下建立檔案 registration.php ,程式碼如下:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'May_Core',
    __DIR__
);

二、執行下列命令,重新整理快取

- php bin/magento cache:clean  清空快取 
- php bin/magento cache:flush  重新整理快取

三、效果如圖所示

Magento 後臺 Configuration 下建立新的自定義模組

本作品採用《CC 協議》,轉載必須註明作者和本文連結
May

相關文章