Saya mencoba memigrasi Magento 1.9.3.4 ke Magento 2.2.2 dengan alat migrasi data.
Saya melakukannya dan toko bekerja di localhost; Saya memiliki pelanggan, penjualan, halaman statis dan produk.
Saya menerima kesalahan fatal ini ketika saya mencoba mengedit satu produk:
Kesalahan fatal: UnEught TypeError: Argumen 2 diteruskan ke Magento \ Framework \ View \ Element \ UiComponentFactory :: argumentsResolver () harus dari jenis array, null diberikan, disebut dalam D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php on line 212 dan didefinisikan dalam D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php: 164 Stack trace:
0 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ Lihat \ Elemen \ UiComponentFactory.php (212): Magento \ Framework \ View \ Element \ UiComponentFactory-> argumentsResolver ('Created_by', NULL)
1 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ module-ui \ Component \ Form \ Field.php (84): Magento \ Framework \ View \ Element \ UiComponentFactory-> create ('Created_by', '', Array )
2 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ Lihat \ Layout \ Generator \ UiComponent.php (159): Magento \ Ui \ Component \ Form \ Field-> mempersiapkan ()
3 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ Lihat \ Layout \ Generator \ UiComponent.php (156): Magento \ Framework \ View \ Layout \ Generator \ UiComponent-> siapkan di D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ Lihat \ Elemen \ UiComponentFactory.php pada baris 164
Beberapa saran?
sumber
Jawaban:
Saya mengalami kesalahan yang sama persis saat membuat modul khusus. Tidak yakin apakah ini akan menyelesaikannya untuk kasus Anda, tetapi mungkin akan membantu untuk menerangi apa yang terjadi.
Di xml layout khusus saya, saya memiliki uiComponent yang belum didefinisikan. Mengajukan:
Mendefinisikan komponen UI ini (atau menghapus simpul uiComponent di layout xml saya) memecahkan masalah bagi saya.
sumber
Saya mendapat kesalahan seperti itu setelah migrasi dan salah satu atribut memiliki kebiasaan
frontend_input
. Saya melihat di jejak tumpukan Anda bahwa masalahnya adalah padacreated_by
bidang. Mungkin Anda harus mengaturfrontend_input
bidang untuk itutext
atau yang serupa.sumber
Dalam kasus kami, masalah ini juga terkait dari Migrasi dari 1.9.4 ke 2.2.7 dan ke modul pra-pemesanan yang menambahkan atribut ke situs Magento 1.
Kami harus memperbarui tabel
eav_attribute
dan mengubahfrontend_input
dari0
menjaditext
.Lihat permintaan basis data kami di bawah ini:
sumber
Pastikan
<uiComponent name="registration_form" />
nama uiComponent sama dengan nama komponen xml di bawahMyCompany/MyModule/view/frontend/ui_component/registration_form.xml
sumber
Saya bermigrasi data dari
magento 1.9.3.7
kemagento 2.2.5
menggunakan alat migrasi data. Ketika saya mengklik tombol tambah produk melalui panel admin, itu menunjukkan saya kesalahan yang sama. Cara saya mengatasinya adalah pergi ke Admin-> Store-> Set Atribut . Dan dieditDefault
danMigration_Default
Set Atribut. AwalnyaMigration_Default
Atribut memiliki set atribut tetapiDefault
kosong. Saya menambahkan atribut keDefault Attribute Set
dan menjalankanreindex
perintahPastikan juga bahwa
Schedule Design Update
Grup Berisi atribut berikut:custom_design_from
custom_design_to
desain custom_design
custom_layout
Dan itu berhasil untuk saya ...;)
sumber
Anda dapat memeriksa apakah nilai frontend_input dari atribut itu valid. Jika Anda memiliki bidang khusus periksa apakah komponen frontend didefinisikan dengan benar.
sumber
Dalam kasus saya, saya menemukan atribut ini dan mengubah teks menjadi area teks. Ini memperbaiki masalah.
Untuk melakukan itu Anda perlu mengedit atribut tetapi dalam mode inspeksi.
Klik tombol kanan mouse pada Label 'Jenis masukan katalog', turun untuk menemukan 'pilih opsi' dan hapus dinonaktifkan = 'dinonaktifkan', Ini akan mengaktifkan opsi pilih dan Anda dapat mengubah ke teks sekarang dan menyimpan.
sumber
Dalam hal ini,
Saya menemukan atribut Created_by pada "STORE -> [Atribut] Product".
Dan mengubah frontend_label menjadi "any_sting ...",
Itu harus memiliki nilai.
Ini memperbaiki masalah.
sumber
Dalam kasus saya, saya harus menghapus atribut yang menyebabkan masalah. Misalnya itu adalah nama atribut produk khusus
preorder
. Saya menghapus atribut dan itu berfungsi dengan baik. Tidak ada solusi di atas yang berlaku untuk saya karena atribut tidak direferensikan dalam file xml apa pun.sumber
Saya bermigrasi dari magento 1.9.4 ke 2.3.3 dan saya mendapatkan masalah ini.
Kami harus memperbarui tabel eav_attribute dan bidang frontend_input dari 0 menjadi "teks". Anda dapat mencari atribut dengan
frontend_input
= '0' Lihat permintaan basis data kami di bawah:Saya melihat atribut dengan attribute_code adalah "preorder" dan "preorderdescript"
Semoga berhasil!
sumber
Saya telah berjuang dengan masalah yang sama setelah migrasi dari Magento 1.7 ke Magento 2.
Saya pikir Anda memiliki masalah dengan atribut produk ini:
created_by
Pertama, Anda perlu memahami peran atribut itu, apakah Anda menggunakannya dalam proyek Magento 1 Anda? itu dapat didefinisikan dengan modul Magento 1.
Dalam kasus saya, saya memiliki masalah dengan atribut khusus lain:,
aitfiles_title
dan karena saya tidak memerlukannya, saya baru saja menghapusnya dari database Magento 2.Jika Anda ingin melakukan hal yang sama untuk atribut Anda:
Ini berfungsi untuk saya, dan saya dapat mengakses halaman produk di panel admin Magento 2.
sumber
Anda dapat mengakses set atribut Anda dan menghapus Created_by dari grup produk masing-masing, kemudian mengindeks ulang toko. Itu memecahkan masalah saya.
sumber
Saya memiliki masalah serupa. Bagi saya itu masalah dengan atribut khusus. Dalam hal ini bagian \ UiComponentFactory-> argumentsResolver ('Created_by', NULL) dan atribut adalah create_by.
Saya memilikinya di tabel eav_attribute tetapi terlewatkan dalam daftar atribut produk di admin. Jadi saya baru saja menghapusnya secara program. Sesuatu seperti itu:
sumber
Baiklah, semua orang membagikan pengalaman mereka sehingga saya harus menambahkan pengalaman saya ke mungkin itu akan membantu seseorang :)
Saya memigrasikan data dari Magento 1.9 ke Magento 2.3.4 dengan alat migrasi data
Dalam kasus saya, saya menghadapi kesalahan yang sama dan memeriksa semua kasus di atas tetapi tidak ada yang dapat membantu pada akhirnya saya perhatikan saya tidak memiliki set atribut dalam database saya: /
Jadi saya menginstal Magento baru karena saya tidak dapat menemukan database Magento: / dan ambil nilai set atribut default dan masukkan dalam tabel atribut saya :)
setelah ini, produk Magento 2.3.4 saya menambah produk baru dan mengedit produk akan berfungsi dengan baik :)
Bagaimana saya memeriksa kesalahan ini Pertama ketika saya mengklik edit dan menambahkan saya hanya mendapatkan 500 kesalahan tetapi setelah saya batalkan komentar pada baris di app / bootstrap.php akan melihat kesalahan.
sumber