J'essaie de migrer mon Magento 1.9.3.4 vers Magento 2.2.2 avec l'outil de migration de données.
Je l'ai fait et le magasin fonctionne en localhost; J'ai les clients, les ventes, les pages statiques et les produits.
Je reçois cette erreur fatale lorsque j'ai essayé de modifier un produit:
Erreur fatale: TypeError non intercepté: l'argument 2 passé à Magento \ Framework \ View \ Element \ UiComponentFactory :: argumentsResolver () doit être du tableau de types, null donné, appelé dans D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php à la ligne 212 et défini dans D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php: 164 Trace de pile:
0 D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ 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 \ 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-> préparer dans D: \ xampp \ htdocs \ magento2 \ vendor \ magento \ framework \ View \ Element \ UiComponentFactory.php on line 164
Une suggestion?
Réponses:
J'ai eu exactement la même erreur lors de la création d'un module personnalisé. Je ne sais pas si cela résoudra votre cas, mais peut-être que cela aidera à éclairer ce qui se passe.
Dans mon XML de mise en page personnalisée, j'avais un uiComponent qui n'était pas encore défini. Fichier:
La définition de ce composant d'interface utilisateur (ou la suppression de ce nœud uiComponent dans mon XML de mise en page) a résolu le problème pour moi.
la source
J'ai eu une telle erreur après la migration et l'un des attributs avait une coutume
frontend_input
. Je vois dans votre trace de pile que le problème vient ducreated_by
champ. Vous devriez peut-être définir lefrontend_input
pour ce champtext
ou quelque chose de similaire.la source
Dans notre cas, ce problème était également lié à une migration de 1.9.4 à 2.2.7 et c'était à un module de précommande qui a ajouté des attributs au site Magento 1.
Nous avons dû mettre à jour le tableau
eav_attribute
et modifierfrontend_input
de0
àtext
.Voir notre requête de base de données ci-dessous:
la source
Assurez-vous que le
<uiComponent name="registration_form" />
nom de uiComponent est le même que le nom du composant xml sousMyCompany/MyModule/view/frontend/ui_component/registration_form.xml
la source
J'ai migré les données de
magento 1.9.3.7
à l'magento 2.2.5
aide de l'outil de migration de données. Lorsque je clique sur le bouton Ajouter un produit via le panneau d'administration, cela m'a montré la même erreur. La façon dont je l'ai résolu était d'aller dans Admin-> Store-> Attribute Set . Et édité le jeu d'attributsDefault
etMigration_Default
. Initialement, l'Migration_Default
attribut avait les jeux d'attributs maisDefault
était vide. J'ai ajouté les attributs à laDefault Attribute Set
et exécuté lareindex
commandeAssurez-vous également que le
Schedule Design Update
groupe contient les attributs suivants:custom_design_from
custom_design_to
design personalisé
custom_layout
Et ça a marché pour moi ...;)
la source
Vous pouvez vérifier si la valeur frontend_input de l'attribut est valide. Si vous disposez d'un champ personnalisé, vérifiez si le composant frontal est correctement défini.
la source
Dans mon cas, j'ai trouvé cet attribut et changé le texte en zone de texte. Cela résout le problème.
Pour ce faire, vous devez modifier l'attribut mais en mode inspection.
Cliquez avec le bouton droit de la souris sur l'étiquette de «Type d'entrée de catalogue», descendez pour trouver «sélectionnez l'option» et supprimez désactivé = «désactivé», cela activera l'option de sélection et vous pourrez passer au texte maintenant et enregistrer.
la source
Dans mon cas,
J'ai trouvé l'attribut created_by sur le "STORE -> [Attributes] Product".
Et changé frontend_label en "any_sting ...",
Il doit avoir de la valeur.
Cela résout le problème.
la source
Dans mon cas, j'ai dû supprimer l'attribut à l'origine du problème. Par exemple, il s'agissait d'un nom d'attribut de produit personnalisé
preorder
. J'ai supprimé l'attribut et cela a bien fonctionné. Aucune des solutions ci-dessus n'était applicable pour moi car l'attribut n'était référencé dans aucun fichier xml.la source
J'ai migré de magento 1.9.4 vers 2.3.3 et j'ai eu le problème.
Nous avons dû mettre à jour la table eav_attribute et le champ frontend_input de 0 à "text". Vous pouvez rechercher un attribut avec
frontend_input
= '0' Voir notre requête de base de données ci-dessous:Je vois que l'attribut avec attribute_code sont "preorder" et "preorderdescript"
Bonne chance!
la source
J'ai eu du mal avec le même problème après la migration de Magento 1.7 vers Magento 2.
Je pense que vous avez un problème avec cet attribut de produit:
created_by
Vous devez d'abord comprendre le rôle de cet attribut, l'utilisez-vous dans votre projet Magento 1? il peut être défini avec un module Magento 1.
Dans mon cas, j'ai eu un problème avec un autre attribut personnalisé:,
aitfiles_title
et parce que je n'en ai pas besoin, je l'ai simplement supprimé de la base de données Magento 2.Si vous souhaitez faire de même pour votre attribut:
Cela fonctionne pour moi et je peux accéder à la page du produit sur le panneau d'administration de Magento 2.
la source
Vous pouvez accéder à vos jeux d'attributs et supprimer le created_by du groupe de produits respectif, puis réindexer le magasin. Cela a résolu mon problème.
la source
J'ai un problème similaire. Pour moi, c'était un problème avec l'attribut personnalisé. Dans ce cas, il fait partie \ UiComponentFactory-> argumentsResolver ('created_by', NULL) et l'attribut est created_by.
Je l'avais dans la table eav_attribute mais il a été manqué dans la liste des attributs du produit dans admin. Je viens donc de le supprimer par programme. Quelque chose comme ca:
la source
Eh bien, tout le monde partage son expérience, je dois donc ajouter la mienne, peut-être que cela aidera quelqu'un :)
Je migre les données de Magento 1.9 vers Magento 2.3.4 avec l'outil de migration de données
Dans mon cas, je suis confronté à la même erreur et vérifie tous les cas ci-dessus mais rien ne peut aider à la fin J'ai remarqué que je n'ai pas de jeux d'attributs dans ma base de données: /
J'installe donc le nouveau Magento car je ne trouve pas la base de données Magento: / et récupère les valeurs des jeux d'attributs par défaut et les insère dans ma table d'attributs :)
après cela, mon produit Magento 2.3.4 ajouter un nouveau produit et modifier le produit fonctionnera correctement :)
Comment je vérifie cette erreur Premièrement, lorsque je clique sur modifier et ajouter, j'obtiens seulement 500 erreurs, mais après avoir décommenté la ligne dans app / bootstrap.php, une erreur apparaîtra.
la source