使用正確的 xsd 檔,讓你輕鬆找到 Magento 的schema
示範環境
* Magento 2.3.1
* PhpStorm 2019.1
什麼是 xsd ?
* `xsd`檔在 xml 中是一個定義 xml schema 的 xml 檔,在 Magento 內,常常會看到下面這種格式,其中 `xsd` 就是定義在 `noNamespaceSchemaLocation` 的 attribute 裡面,而定義描述檔的副檔名正是以 `.xsd` 結尾
<schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Setup/Declaration/Schema/etc/schema.xsd"> </schema>
產生 urn 位置
* Magento 已經內建指令,讓我們能夠快速產生所有定義檔的 path,在 Magento 根目錄內,鍵入以下指令
bin/magento dev:urn-catalog:generate <PATH>
定義檔樣式
* 產生後的定義檔,格式大致如下,可以看到,每一條定義檔 `urn:magento:framework:ObjectManager/etc/config.xsd` 都有相對應的路徑位置,並且在 `ProjectResources` 的 `component` 底下
<?xml version="1.0"?> <project version="4"> <component version="2" name="ProjectRootManager"/> <component name="ProjectResources"> <resource url="urn:magento:framework:ObjectManager/etc/config.xsd" location="/var/www/html/Grayson/vendor/magento/framework/ObjectManager/etc/config.xsd"/> <resource url="urn:magento:framework:Module/etc/module.xsd" location="/var/www/html/Grayson/vendor/magento/framework/Module/etc/module.xsd"/> ...以下略... </component> </project>
匯入至 PhpStorm
* 筆者以 PhpStorm 為範例,畢竟這是地表上最強的 IDE (誤
* 步驟如下:
- 開啟 `.idea/misc.xml`(如果沒有這個檔案,就自己建立出來)
- 在剛剛匯出檔案內找到 `<component name="ProjectResources">` 的欄位,複製整個欄位至 `.idea/misc.xml` 的 `component` 內,就大公告成啦。
* 注意事項:複製過去的時候,也許路徑還是會有錯,可以把 `location` 內的路徑改掉
* 原本:
location="/var/www/html/Grayson/vendor/magento/framework/ObjectManager/etc/config.xsd"/>
* 改為:
location="$PROJECT_DIR$/vendor/magento/framework/ObjectManager/etc/config.xsd"/>
匯入完成後
* 匯入前/後如下圖,所有原先警告找不到路徑的紅色都消失了,也能夠正確的追蹤到相對應的 `xsd` 定義檔了,這對開發上來說,真的是非常方便。
匯入前:
匯入後:
如果有您有更多疑問可以詢問我們,未來會撰寫更多電商網站相關文章,您想知道什麼嗎?歡迎在下方留言給我們。或追蹤我們的粉絲專頁,就不錯過最新文章喔!
我要留言