Я пытаюсь перенести мой Magento 1.9.3.4 в Magento 2.2.2 с помощью инструмента для переноса данных.
Я сделал это, и магазин работает в localhost; У меня есть клиенты, продажи, статические страницы и продукты.
Я получаю эту фатальную ошибку при попытке изменить один продукт:
Неустранимая ошибка: Uncaught TypeError: Аргумент 2 передан в Magento \ Framework \ View \ Element \ UiComponentFactory :: argumentsResolver () должен иметь массив типа, заданный null, вызываемый в D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php в строке 212 и определяется в D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php: 164 Трассировка стека:
0 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php (212): Magento \ Framework \ View \ Element \ UiComponentFactory-> argumentsResolver ('made_by', NULL)
1 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ module-ui \ Component \ Form \ Field.php (84): Magento \ Framework \ View \ Element \ UiComponentFactory-> create ('creation_by', '', Array )
2 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Layout \ Generator \ UiComponent.php (159): Magento \ Ui \ Component \ Form \ Field-> prepare ()
3 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Layout \ Generator \ UiComponent.php (156): Magento \ Framework \ View \ Layout \ Generator \ UiComponent-> подготовить в D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php в строке 164
Некоторые предложения?
Ответы:
У меня была точно такая же ошибка при создании пользовательского модуля. Не уверен, решит ли это это для вашего случая, но, возможно, это поможет осветить происходящее.
В моем пользовательском макете XML у меня был компонент uiComponent, который еще не был определен. Файл:
Определение этого компонента пользовательского интерфейса (или удаление этого узла uiComponent в моем макете XML) решило проблему для меня.
источник
Я получил такую ошибку после миграции, и один из атрибутов имел кастом
frontend_input
. Я вижу в вашей трассировке стека, что проблема сcreated_by
полем. Может быть, вы должны установитьfrontend_input
для этого поля значениеtext
или что-то подобное.источник
В нашем случае эта проблема также была связана с миграцией с 1.9.4 до 2.2.7 и была связана с модулем предварительного заказа, который добавил атрибуты на сайт Magento 1.
Мы должны были обновить таблицу
eav_attribute
и внести поправкиfrontend_input
в0
кtext
.Смотрите наш запрос к базе данных ниже:
источник
Убедитесь, что
<uiComponent name="registration_form" />
имя uiComponent совпадает с именем компонента xml вMyCompany/MyModule/view/frontend/ui_component/registration_form.xml
источник
Я мигрировал данные из
magento 1.9.3.7
сmagento 2.2.5
помощью средства переноса данных. Когда я нажимаю кнопку «Добавить продукт» через панель администратора, она показывает ту же ошибку. То, как я решил, было пойти в Admin-> Store-> Attribute Set . И отредактировал наборDefault
иMigration_Default
атрибуты. ПервоначальноMigration_Default
Атрибут имел наборы атрибутов, ноDefault
был пуст. Я добавил атрибутыDefault Attribute Set
и выполнилreindex
командуТакже убедитесь, что
Schedule Design Update
группа содержит следующие атрибуты:custom_design_from
custom_design_to
индивидуальный дизайн
custom_layout
И это сработало для меня ...;)
источник
Вы можете проверить, является ли значение атрибута frontend_input допустимым. Если у вас есть настраиваемое поле, проверьте, правильно ли определен компонент веб-интерфейса.
источник
В моем случае я нашел этот атрибут и изменил текст в текстовую область. Это решит проблему.
Для этого вам нужно отредактировать атрибут, но в режиме проверки.
Нажмите правую кнопку мыши на ярлыке «Тип ввода каталога», спуститесь вниз, чтобы найти «выбрать вариант» и удалить disabled = «отключен», это активирует выбор опции, и вы можете перейти к тексту и сохранить.
источник
В моем случае,
Я нашел атрибут made_by в «STORE -> [Attributes] Product».
И изменил frontend_label на "any_sting ...",
Это должно иметь значение.
Это решит проблему.
источник
Я перешел с magento 1.9.4 на 2.3.3 и получил проблему.
Нам пришлось обновить таблицу eav_attribute и поле frontend_input с 0 на «текст». Вы можете искать атрибут с
frontend_input
= '0'. Смотрите наш запрос к базе данных ниже:Я вижу атрибут с атрибутом_код "preorder" и "preorderdescript"
Удачи!
источник
В моем случае мне пришлось удалить атрибут, вызывающий проблему. Например, это были пользовательские имена атрибутов товара
preorder
. Я удалил атрибут, и он работал нормально. Ни одно из вышеперечисленных решений не было применимо для меня, так как атрибут не был указан ни в одном xml-файле.источник
Я боролся с той же проблемой после перехода с Magento 1.7 на Magento 2.
Я думаю, что у вас есть проблема с этим атрибутом продукта:
created_by
Прежде всего, вам нужно понять роль этого атрибута, используете ли вы его в своем проекте Magento 1? это можно определить с помощью модуля Magento 1.
В моем случае у меня была проблема с другим настраиваемым атрибутом:,
aitfiles_title
и, поскольку он мне не нужен, я просто удалил его из базы данных Magento 2.Если вы хотите сделать то же самое для вашего атрибута:
Это работает для меня, и я могу получить доступ к странице продукта на панели администратора Magento 2.
источник
Вы можете получить доступ к своим наборам атрибутов и удалить созданный_бай из группы соответствующего продукта, а затем переиндексировать магазин. Это решило мою проблему.
источник
У меня похожая проблема. Для меня это была проблема с пользовательским атрибутом. В этом случае это part \ UiComponentFactory-> argumentsResolver ('made_by', NULL) и атрибут create_by.
У меня было это в таблице eav_attribute, но это было пропущено в списке атрибутов продукта в admin. Так что я просто удалил это программно. Что-то такое:
источник
Ну, все делятся своим опытом, поэтому я должен добавить свой, возможно, это кому-то поможет :)
Я переношу данные из Magento 1.9 в Magento 2.3.4 с помощью инструмента переноса данных
В моем случае я сталкиваюсь с той же ошибкой и проверяю все вышеперечисленные случаи, но ничто не может помочь в конце. Я заметил, что в моей базе данных нет наборов атрибутов: /
Поэтому я устанавливаю новый Magento, потому что не могу найти базу данных Magento: / и беру значения набора атрибутов по умолчанию и вставляю в мою таблицу атрибутов :)
после этого мой продукт Magento 2.3.4, добавляющий новый продукт и редактирующий продукт, будет работать правильно :)
Как я проверяю эту ошибку Сначала, когда я нажимаю на edit и add, я получаю только 500 ошибок, но после того, как я раскомментирую строку в app / bootstrap.php, появится ошибка.
источник