Saya mengkode dengan Magento 2 di gvim dan saya baru mengenal Magento 2.
Ada banyak kali saya berjuang untuk men-debug kesalahan terkait xml, well, setiap kali hanya dengan keberuntungan. Tetapi situasi seperti ini membuat saya sangat kesal: Anda tidak tahu di mana file yang menyebabkan kesalahan ini, dan debugger tidak memberi tahu keduanya.
Ambil yang berikut yang saya dapatkan ini: file xml tidak valid. sebenarnya saya sudah membuat modul yang memiliki module.xml, routes.xml, config.xml, {layout} .xml, di.xml di bawahnya dll atau lihat / tata letak direktori. Baris file 12/89 / .. mana yang tidak valid? yang dihasilkan / digabung? Saya tersesat karena saya tidak menemukan apa pun di var / generate, dan commandline berhenti berfungsi. Apa cara debugging untuk menemukan kesalahan ini.?
Bantuan apa pun dihargai.
Kesalahan fatal: Uncaught Magento \ Framework \ Exception \ LocalizedException: 'Item' Elemen Dokumen Tidak Valid: Definisi jenisnya abstrak. Baris: 12 Elemen 'item', atribut 'name': XPath '@name' dari bidang kendala-identitas utama 'itemName' dievaluasi menjadi simpul-set dengan lebih dari satu anggota. Baris: 89 Elemen 'item': Tidak semua bidang 'keyName' kendala identitas mengevaluasi ke sebuah node. Baris: 89 Elemen 'item', atribut 'name': XPath '@name' dari bidang kunci-kendala identitas 'itemName' mengevaluasi ke set-simpul dengan lebih dari satu anggota. Baris: 90 Elemen 'item': Tidak semua bidang 'keyName' kendala identitas mengevaluasi ke sebuah node. Baris: 90 di /var/www/html/lib/internal/Magento/Framework/Config/Reader/Filesystem.php:
Jawaban:
Pengecualian yang dilontarkan memberi tahu Anda bahwa Anda menggunakan elemen di
<item />
mana Anda tidak diizinkan menggunakannya. Jadi ya, masalah Anda mungkin terkait XML.Hal pertama yang saya lakukan untuk memastikan saya menulis XML yang valid adalah mengatur IDE saya sehingga dapat memetakan skema XSD dengan benar. Di PhpStorm Anda bisa melakukan ini dengan menggunakan helper-thingy yang tersisa ke
xsi
-namespace:Ketika semua diatur dengan benar, IDE Anda akan mengatur penyelesaian kode untuk Anda dan memperingatkan Anda jika Anda melakukan sesuatu yang tidak diperbolehkan:
Saya harap ini membantu Anda.
sumber
bin/magento dev:urn:generate .idea/misc.xml
untuk menghasilkan pemetaan xsd untuk PHPStorm. Ini akan dapat menyelesaikan semua jalur guci dari xmls.