Saya mencoba membangun modul CRUD yang menggunakan komponen UI untuk kisi dan formulir admin.
Saya pernah melakukan ini sebelumnya dan berhasil, tetapi yang ini sedikit berbeda dan ternyata saya mengacaukan sesuatu.
Masalahnya ada di file komponen UI atau beberapa kelas yang dirujuk oleh file komponen UI pasti. Jika saya menghapus referensi komponen UI dari file tata letak, halaman dimuat (tanpa grid jelas).
Ketika memasukkan komponen UI, halaman itu kosong dan tidak ada kesalahan yang dicatat di mana pun, bahkan ketika dalam mode pengembang.
Bagaimana / di mana saya dapat mulai men-debug loading dan rendering komponen UI?
magento2
debugging
uicomponent
Marius
sumber
sumber
Jawaban:
Apa yang saya temukan sejauh ini adalah bahwa ketika memberikan tata letak tumpukan ini diikuti.
\Magento\Framework\View\Layout::generateElements
\Magento\Framework\View\Layout\GeneratorPool::process
Sekarang, tergantung pada jenis tata letak yang disebut generator tata letak yang berbeda
Untuk komponen Ui ... melanjutkan tumpukan:
\Magento\Framework\View\Layout\Generator\UiComponent::process()
\Magento\Framework\View\Layout\Generator\UiComponent::generateComponent()
\Magento\Framework\View\Element\UiComponentFactory::create()
\Magento\Ui\Model\Manager::prepareData()
\Magento\Ui\Model\Manager::evaluateComponents()
Magento\Framework\Data\Argument\InterpreterInterface::evaluate
.Sekali lagi, ini tergantung pada tipe argumen yang perlu ditafsirkan.
Anda dapat menemukan beberapa penerjemah di sini
lib/internal/Magento/Framework/Data/Argument/Interpreter/
Sejauh ini yang saya dapat.
Saya tahu ini bukan penjelasan lengkap, tetapi ini adalah beberapa poin di mana Anda dapat mengidentifikasi jika ada yang salah dengan komponen ui Anda.
sumber
Mencoba:
metode:
protected function _toHtml()
kira-kira dimulai pada baris 57
Debug
$result
dan itu harus berisi semua komponen yang dimuat.sumber
Satu-satunya cara saya dapat men-debug komponen ui adalah hanya menghapus semuanya dari komponen xml dan menambahkan item satu per satu untuk memastikan bahwa atribut didukung di xsd.
sumber
Anda dapat mulai dengan menggunakan css untuk memulai debugging Anda dapat menggunakan file theme.less di bawah app / design / frontend / Mgs / molly / web / css misalnya mengubah warna dasar yaitu @ warna dasar: @ 7c7bad
setelah mengubah kode apa pun yang telah Anda hapus direktori var, Anda memiliki konten yang jelas di bawah direktori frontend pub / static / frontend /
Pada perintah hit terakhir di cmd php bin / setup magento: static-content: deploy
sumber
Saya akan mulai dengan:
Ini adalah tempat di mana Ui XML digabungkan. Jadi ini harus menjadi titik awal untuk debugging Ui XML.
sumber