Ich versuche, mein Magento 1.9.3.4 mit dem Datenmigrationstool auf Magento 2.2.2 zu migrieren.
Ich habe es getan und der Laden arbeitet in localhost; Ich habe die Kunden, Verkäufe, statischen Seiten und Produkte.
Ich erhalte diesen schwerwiegenden Fehler, als ich versuchte, ein Produkt zu bearbeiten:
Schwerwiegender Fehler: Nicht erfasster TypeError: Argument 2, das an Magento \ Framework \ View \ Element \ UiComponentFactory :: argumentiert wurde \ View \ Element \ UiComponentFactory.php in Zeile 212 und definiert in D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php: 164 Stack-Trace:
0 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ Framework \ View \ Element \ UiComponentFactory.php (212): Magento \ Framework \ View \ Element \ UiComponentFactory-> ArgumenteResolver ('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 \ 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-> in D: \ xampp \ htdocs vorbereiten \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php in Zeile 164
Ein Vorschlag?
quelle
Antworten:
Ich hatte genau den gleichen Fehler beim Erstellen eines benutzerdefinierten Moduls. Ich bin mir nicht sicher, ob dies das Problem für Ihren Fall lösen wird, aber vielleicht hilft es, zu beleuchten, was los ist.
In meiner benutzerdefinierten Layout-XML hatte ich eine uiComponent, die noch nicht definiert war. Datei:
Das Definieren dieser UI-Komponente (oder das Entfernen dieses uiComponent-Knotens in meiner Layout-XML) hat das Problem für mich gelöst.
quelle
Ich habe nach der Migration einen solchen Fehler erhalten und eines der Attribute hatte einen benutzerdefinierten
frontend_input
. Ich sehe in Ihrer Stapelverfolgung, dass das Problem mit demcreated_by
Feld liegt. Vielleicht sollten Sie dasfrontend_input
für dieses Feld auftext
oder etwas Ähnliches setzen.quelle
In unserem Fall betraf dieses Problem auch eine Migration von 1.9.4 auf 2.2.7 und ein Vorbestellungsmodul, das der Magento 1-Site Attribute hinzufügte.
Wir mussten die Tabelle aktualisieren
eav_attribute
undfrontend_input
von0
bis änderntext
.Siehe unsere Datenbankabfrage unten:
quelle
<uiComponent name="registration_form" />
Stellen Sie sicher, dass der Name von uiComponent mit dem Namen der XML-Komponente unter übereinstimmtMyCompany/MyModule/view/frontend/ui_component/registration_form.xml
quelle
Ich wanderte die Daten aus ,
magento 1.9.3.7
ummagento 2.2.5
das Datenmigrations - Tool verwenden. Wenn ich im Admin-Bereich auf die Schaltfläche Produkt hinzufügen klicke, wird der gleiche Fehler angezeigt. Die Art und Weise, wie ich es beschlossen habe, war, zu Admin-> Store-> Attribute Set zu gehen . Und bearbeitet dieDefault
undMigration_Default
Attribute Set. Anfangs hatte dasMigration_Default
Attribut die Attributsätze, aber dasDefault
war leer. Ich habe die Attribute zu hinzugefügtDefault Attribute Set
und denreindex
Befehl ausgeführtStellen Sie außerdem sicher, dass die
Schedule Design Update
Gruppe die folgenden Attribute enthält:custom_design_from
custom_design_to
Maßgefertigtes Design
custom_layout
Und es hat bei mir funktioniert ...;)
quelle
Sie können überprüfen, ob der frontend_input-Wert des Attributs gültig ist. Wenn Sie ein benutzerdefiniertes Feld haben, überprüfen Sie, ob die Frontend-Komponente korrekt definiert ist.
quelle
In meinem Fall habe ich dieses Attribut gefunden und Text in Textbereich geändert. Dies behebt das Problem.
Dazu benötigen Sie das Bearbeitungsattribut, jedoch im Inspektionsmodus.
Klicken Sie mit der rechten Maustaste auf die Bezeichnung "Katalogeingabetyp", suchen Sie nach "Auswahloption" und entfernen Sie "deaktiviert" = "deaktiviert". Dadurch wird die Optionsauswahl aktiviert, und Sie können jetzt zu Text wechseln und speichern.
quelle
In meinem Fall,
Ich habe das Attribut created_by im Produkt "STORE -> [Attribute]] gefunden.
Und frontend_label in "any_sting ..." geändert,
Es sollte Wert haben.
Dies behebt das Problem.
quelle
In meinem Fall musste ich das Attribut löschen, das das Problem verursacht. Zum Beispiel war es ein benutzerdefinierter Produktattributname
preorder
. Ich habe das Attribut gelöscht und es hat gut funktioniert. Keine der oben genannten Lösungen war für mich anwendbar, da das Attribut in keiner XML-Datei referenziert wurde.quelle
Nach der Migration von Magento 1.7 auf Magento 2 habe ich mit demselben Problem zu kämpfen.
Ich denke, Sie haben ein Problem mit diesem Produktattribut:
created_by
Zuerst müssen Sie die Rolle dieses Attributs verstehen. Verwenden Sie es in Ihrem Magento 1-Projekt? Es kann mit einem Magento 1-Modul definiert werden.
In meinem Fall hatte ich ein Problem mit einem anderen benutzerdefinierten Attribut:
aitfiles_title
und da ich es nicht benötige, habe ich es einfach aus der Magento 2-Datenbank entfernt.Wenn Sie dasselbe für Ihr Attribut tun möchten:
Es funktioniert für mich und ich kann auf die Produktseite im Magento 2-Administrationsbereich zugreifen.
quelle
Sie können auf Ihre Attributgruppen zugreifen, das create_by aus der jeweiligen Produktgruppe entfernen und dann das Geschäft neu indizieren. Es hat mein Problem gelöst.
quelle
Ich habe ein ähnliches Problem. Für mich war es ein Problem mit dem benutzerdefinierten Attribut. In diesem Fall ist es Teil \ UiComponentFactory-> argumentResolver ('created_by', NULL) und das Attribut wird create_by.
Ich hatte es in der Tabelle eav_attribute, aber es wurde in der Liste der Produktattribute in admin übersehen. Also habe ich es gerade programmatisch entfernt. So ähnlich:
quelle
Nun, jeder teilt seine Erfahrungen, also muss ich meine hinzufügen, vielleicht hilft es jemandem :)
Ich migriere die Daten von Magento 1.9 nach Magento 2.3.4 mit dem Datenmigrationstool
In meinem Fall tritt der gleiche Fehler auf und ich überprüfe alle oben genannten Fälle, aber am Ende kann nichts helfen. Ich habe festgestellt, dass meine Datenbank keine Attributgruppen enthält: /
Also installiere ich das neue Magento, weil ich die Magento-Datenbank nicht finden kann: / und greife nach den Standardwerten für Attributmengen und füge sie in meine Attributtabelle ein :)
Danach wird mein Magento 2.3.4-Produkt ein neues Produkt hinzufügen und das Produkt bearbeiten wird ordnungsgemäß funktionieren :)
So überprüfe ich diesen Fehler Wenn ich zuerst auf Bearbeiten und Hinzufügen klicke, erhalte ich nur 500 Fehler, aber nachdem ich die Zeile in app / bootstrap.php auskommentiert habe, wird ein Fehler angezeigt.
quelle
Ich bin von Magento 1.9.4 auf 2.3.3 migriert und habe das Problem bekommen.
Wir mussten die Tabelle eav_attribute und das Feld frontend_input von 0 auf "text" aktualisieren. Sie können nach Attributen mit
frontend_input
= '0' suchen. Siehe unsere Datenbankabfrage unten:Ich sehe, dass Attribute mit attribute_code "preorder" und "preorderdescript" sind.
Viel Glück!
quelle