Untuk sementara Magento 2 memiliki cara untuk memvalidasi (dan melengkapi otomatis) xml apa pun dengan menggunakan file XSD.
Contohnya module.xml
terlihat seperti ini:
<?xml version="1.0">
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
....
</config>
tapi sekarang module.xml
terlihat seperti ini:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
....
</config>
jadi xsi:noNamespaceSchemaLocation
atributnya berisi urn:magento:framework:
.
Saya tahu bahwa ini tidak ada hubungannya dengan validasi sisi server dari xmls. Yang ini masih berfungsi.
Tapi apa yang bisa saya lakukan untuk mendapatkan kembali validasi saya di IDE saya (PHPStorm dalam kasus saya, tapi itu tidak penting, itu bisa menjadi hal lain) untuk mengenali jalur ke xsd?
Haruskah saya masih menggunakan jalur relatif lama saat membangun modul saya? Atau ada cara yang lebih baik untuk melakukannya?
magento2
xml
validation
Marius
sumber
sumber
Jawaban:
Periksa pembaruan untuk GitHub hari ini, Magento 2 memperkenalkan perintah baru untuk secara otomatis menghasilkan semua resolusi URN untuk PhpStorm.
Untuk menggunakannya:
bin/magento dev:urn-catalog:generate .idea/misc.xml
mana.idea/misc.xml
path ke file misc.xml PhpStorm AndaSemua URN harus diselesaikan secara ajaib sekarang!
Periksa di bawah
PhpStorm->Preferences -> Languages&Frameworks -> Schemas and DTDs
PhpStorm 9.0 (windows):
File -> Settings -> Languages&Frameworks -> Schemas and DTDs
sumber
Jadi magento mengubah XSD URI untuk menggunakan Urn - Ini perlu dikonfigurasi dalam PHP Storm agar validasi skema berfungsi lagi.
Sumber: http://alankent.me/2015/10/10/xml-schema-resolution-in-php-storm-with-urns-quick-note/
Kode resolusi URN dibangun ke Magento secara langsung. Untungnya, sangat mudah untuk mengaitkan URN dengan file asli di situs lokal Anda di PHP Strom.
Inilah yang akan Anda lihat setelah memuat versi magento2 yang baru dengan guci. Perhatikan bahwa URN berwarna merah karena PHP Storm tidak tahu bagaimana mengatasinya.
Masukkan kursor ke dalam URN lalu klik bola lampu merah di sebelah kiri yang akan muncul dan pilih "Atur Sumber Daya Eksternal Secara Manual" dari daftar.
Gulir ke bawah daftar file XSD yang telah secara otomatis ditemukan oleh PHP Storm, dan pilih file yang sesuai. URN merah sekarang akan ditampilkan dalam warna hijau, dan validasi XML kembali berlaku.
sumber
Generasi URN didukung oleh plugin Magento 2 untuk PHP Storm, dan hanya satu dari banyak fitur berguna yang disediakan untuk pengembang Magento 2.
Saat plugin dipasang di PHP Storm, buka
Preferences / Other Settings / Magento2 plugin
dan klikRegenerate URN map
.sumber
Pengguna Eclipse IDE:
(Diperbarui 11 Juli 2019 untuk Magento 2.3.1)
Pro:
Cons:
Instruksi:
~/workspace
..metadata/.plugins/org.eclipse.wst.xml.core/user_catalog.xml
(jika tidak ada, buat itu)Sumber:
Daftar di atas ini dibuat menggunakan perintah CLI Magento:
Kemudian dikonversi ke format yang diharapkan Eclipse.
sumber