日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Magento 2开发教程 - 创建新模块

發布時間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Magento 2开发教程 - 创建新模块 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

視頻在youtube網站國內訪問不了,可以使用翻墻軟件查看。
視頻地址:www.youtube.com/embed/682p52tFcmY@autoplay=1

下面是視頻文字介紹:

Magento 2系統整體結構是建立在模塊的基礎上。通常,創建定制的第一步是構建模塊。

要創建模塊,需要完成以下步驟:

  • 創建模塊文件夾
  • 創建?etc/module.xml?文件.
  • 創建?registration.php?文件.
  • 運行?bin/magento setup:upgrade腳本安裝新模塊
  • 檢查模塊是否正常工作
  • 讓我們詳細地看一下這些步驟。

    創建模塊文件夾

    Magento 2模塊文件夾可以創建在兩個地方: app/code 和 vendor 文件夾

    根據Magento 2已安裝,核心模塊可以位于?vendor/magento/magento-*文件夾 或?app/code/Magento/?文件夾

    您應該為您的新模塊選擇哪些位置?

    如果為特定項目構建模塊,最好選擇應用app/code文件夾并提交到項目的存儲庫中。

    如果你要構建一個可重用的擴展,最好使用composer來創建它,并將你的模塊放在?vendor/<YOUR_VENDOR>/module-something?文件夾。

    在Magento 2每個模塊的名稱由兩部分組成–vendor和模塊本身。換句話說,模塊分為vendor,所以你需要定義vendor和模塊名稱。在這個例子中,讓我們的vendor名稱“Learning”和“firstunit”模塊。

    ?

    讓我們創建文件夾 app/code/Learning 和這個文件夾里面放一個文件夾:FirstUnit。如果您使用命令行,代碼:

  • cd?到根文件夾
  • mkdir app/code/Learning
  • mkdirapp/code/Learning/FirstUnit
  • 確保您有權限在安裝中創建文件和文件夾

    下一步, 你需要創建?etc/module.xml?文件。 此文件需要模塊存在。

    此文件包含以下信息:

    • 模塊名稱
    • 模塊版本
    • 模塊依賴

    模塊名稱定義的文件夾我們剛剛創建的,因為在Magento 2類名稱必須遵循的文件夾結構。因為我們創建了文件夾Learning/FirstUnit, our module name will be?Learning_FirstUnit?所有屬于這個模塊的類將從?Learning\FirstUnit?– 示例:?Learning\FirstUnit\Observer\Test.

    模塊版本表示數據庫架構和數據的當前版本,并用于升級。 例如,假設您決定在模塊中修改表的架構。
    你怎么能確保在所有部署代碼的情況下會發生這種變化?通過直接SQL查詢修改數據庫將不起作用。相反,Magento
    2已經安裝和升級的每一個模塊的腳本(可選)。這些腳本包含修改數據庫架構或數據的命令。跟蹤是否執行腳本或不使用Magento
    2模塊版本。每次執行新的數據庫更改時,您將實現模塊的新版本并更改相應的版本?module.xml. Magento的保存在數據庫的當前模塊的版本,如果數據庫中的一個值與?module.xml?不匹配, 它將執行升級代碼。

    ?

    依賴。如果一個模塊依賴于另一個模塊,module.xml?文件將有一個特殊聲明,定義當前模塊依賴的模塊列表。在這個例子中,我們將使我們的模塊依賴magento_catalog。

    使用以下命令行代碼,創建文件夾?app/code/Learning/FirstUnit/etc:

  • mkdir app/code/Learning/FirstUnit/etc
  • 然后把下面的代碼:

  • <?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="Learning_FirstUnit" setup_version="0.0.1"> <sequence>
  • <module name="Magento_Catalog"/> </sequence>
  • </module>
  • </config>
  • 請注意,在指定的xml文件中:

    • 模塊名稱:?Learning_FirstUnit?(基于我們創建的文件夾)
    • 版本: 0.0.1 (我們的模塊的初始版本)
    • 依賴: Magento_Catalog. 我們可以有多重依賴。在這種情況下, 我們會把<module name=”..” />?序列節點下的節點。

    創建registration.php 文件

    每個模塊必須有這個文件,它告訴Magento如何定位模塊。繼續我們的例子,創建文件app/code/Learning/FirstUnit/registration.php。然后把下面的內容放進去:

  • <?php \Magento\Framework\Component\ComponentRegistrar::register(
  • \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Learning_FirstUnit',
  • __DIR__
  • );
  • registration.php?是所有模塊都遵循相同模式的標準化文件。

    唯一不同的是模塊名,在我們的例子中是Learning_FirstUnit。

    運行 “setup:upgrade” 命令

    運行此命令使您的新模塊主動通知Magento的存在。

  • php bin/magento setup:upgrade
  • 它應該呼應大量的輸出,其中一行應該是Learning_FirstUnit. 驗證此行代碼是否存在。

    檢查新模塊是否處于激活狀態

    到目前為止,我們還沒有添加任何有用的代碼到我們的模塊-它仍然是空的(因此無形的)。 為了驗證它已被確認,檢查文件?app/etc/env.php. 它有一個自動生成模塊的列表是活躍的。

    手動更改此列表!

  • cat app/etc/env.php | grep Learning_FirstUnit
  • 采用這些步驟,你可以成功地創建Magento 2新模塊。

    總結

    以上是生活随笔為你收集整理的Magento 2开发教程 - 创建新模块的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。