> Artikel bearbeiten > Varianten > Konfiguration - Varianten zusammenfügen funktioniert nicht

Hi,

ich versuche gerade mehrere Varianten eines Artikels zusammenzufügen, jedoch bekomme ich immer wieder den gleichen Fehler:

Beim Generieren der Artikel-Varianten ist ein Fehler aufgetreten: undefined 

(500 - Internal Error Server)

Der gleiche Fehler tritt auch  im Backend von http://www.shopwaredemo.de auf. 

Als simples Beispiel nehmen wir ein T-Shirt.

Ich hattet bereits die Farbe grün in S - M - L erstellt. Nun wollt ihr aber die Variante XL hinzufügen. Bei generieren der Variante erscheint der oben genannte Fehler (Option: “Zusammenfügen”). Nun könnte ich einfach alle Variantionen neu erstellen und überschreiben. Jedoch habe ich in meinem Shop 4 Gruppen und dazu 20 verschiedene Optionen. Nicht alle Gruppenelemente haben auch die 20 verschiedenen Optionen. 

 

Vielen Dank im Voraus. 

Aktiviere mal das erweiterte Error Debugging, wie es hier steht:

Damit lässt sich eine genauere Fehlermeldung extrahieren, mit der wir mehr anfangen können.

Ich würde gerne die Fehlermeldung hier schicken, jedoch ist der Fehlercode zu lang. 
 

Aber den gleichen Fehler könnte ihr auch auf eurem Demoshop reproduzieren. So wie es oben beschrieben habe. Ansonsten erstellte ich eben ein Video wie man den Fehler reproduziert. 

Hier das Video zu meinem Fehler / Problem:

https://www.youtube.com/watch?v=rwXilRaLURE&feature=youtu.be

 

Hier nochmal die verkürzte Fehlermeldung: 

 ( ! ) TypeError: Argument 1 passed to Shopware\Proxies__CG__\Shopware\Models\Article\Detail::setArticle() must be an instance of Shopware\Models\Article\Article, null given, called in /srv/http/sw5/engine/Shopware/Components/Model/ModelEntity.php on line 120 in /srv/http/sw5/var/cache/production_201705171506/doctrine/proxies/__CG__ShopwareModelsArticleDetail.php on line 414

Hi,

der Fehler so ist logisch, da du den Artikel in dem Moment zerstörst. 

Du wählst ja alle Optionen ab und nimmst dann nur eine. Du musst alle Einstellungen / Gruppen und Optionen beibehalten und nur die neue Option zusätzlich auswählen.

Shopware erkennt die neue Variation und baut die beim „zusammenführen“ dann sauber hinzu 

Sebastian

Hi, 

diese Option der Variantenzusammenführung ist mir auch bekannt. Jedoch möchte ich das einem Beispiel erklären.

Nehmen wir an ich möchte T-Shirts verkaufen. Dazu habe ich meine Farben “GRÜN” und “ROT”. 

Die Farbe “GRÜN” gibt es aber nur in den Größen S - M - XL

Die Farbe “ROT” gibt es jedoch in den Größen S - M - L - XL - XXL

Wenn der Kunde die Farbe “Grün” auswählt, sollen bei den Größen auch nur die drei Varianten erscheinen. 

Genau da taucht diese Problemstellung auf.  Dieses Beispiel ist jetzt nur auf 2 Gruppen gemünzt. Ich habe jedoch bei meinem Projekt 4 Gruppen mit je 10 Elementen.

Aber das hat doch gar nichts mit dem Fehler zu tun? Denn den kann ich nur irgendwie erkennen, wenn ich alle Optionen abwählen und das ist dann auch korrekt.

Ich habe dein Problem noch gar nicht verstanden, denn das angesprochene kannst du ja umsetzen / anlegen und auch problemlos zusammenführen

1 „Gefällt mir“

Genau das kann ich ja halt nicht umsetzen, weil dann dieser Fehler produziert wird. Bleiben wir bei dem Beispiel T-Shirts. Ausgangssituation: Ich habe ein T-Shirt in der Farbe grün und in den Größen S M L. Dann bekomme ich vom Hersteller die Farbe rot in den Größen S M L XL XXL. Sobald ich die neuen Größen in meine Gruppe Größen hinzufügen und die Varianten generie (laut deinem Lösungsvorschlag) wird automatisch auch für die Farbe grün die Varianten XL und XXL generiert und das genau will ich nicht. Dann habe ich für die Farbe grün und rot die Größen S M L XL XXL generiert. 

Ich hoffe ich konnte es sich jetzt besser darstellen. 

Hi,

aber auch das ist korrekt, denn im Standard wird die Matrix natürlich immer komplett, also vollständig generiert.
Du kannst nicht verfügbare Variationen aber nachträgliche entfernen oder deaktivieren bzw. Bestand auf 0 setzen.

Oder du generierst diese direkt nicht mit. Da musst du dann mit den Einschränkungen arbeiten - Siehe Doku: http://community.shopware.com/Artikel-Varianten_detail_920.html#Set_Abh.E4ngigkeiten
Das System muss ja vorher dann wissen, welche Kombis technisch also auch gar nicht generiert werden müssen. Dafür gibt es ja die Funktion speziell.

Sebastian

1 „Gefällt mir“

Ich danke euch beiden, sobald ich es umgesetzt habe, werde ich mich erneut melden :-) 

Ich habe auch ein Probelm beim Erstellen von Varianten - Ich bekomme folgen Fehlermelung

Ups! Ein Fehler ist aufgetreten! Die nachfolgenden Hinweise sollten Ihnen weiterhelfen. An exception occurred while executing ‚INSERT INTO s_article_configurator_sets (name, public, type) VALUES (?, ?, ?)‘ with params [null, 0, 0]: SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‚name‘ cannot be null in vendor/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php on line 131 Stack trace: #0 vendor/doctrine/dbal/lib/Doctrine/DBAL/Statement.php(177): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(PDOException), ‚INSERT INTO s_a…‘, Array) #1 engine/Library/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php(281): Doctrine\DBAL\Statement->execute() #2 vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(1014): Doctrine\ORM\Persisters\Entity\BasicEntityPersister->executeInserts() #3 vendor/doctrine/orm/lib/Doctrine/ORM/UnitOfWork.php(378): Doctrine\ORM\UnitOfWork->executeInserts(Object(Doctrine\ORM\Mapping\ClassMetadata)) #4 vendor/doctrine/orm/lib/Doctrine/ORM/EntityManager.php(356): Doctrine\ORM\UnitOfWork->commit(NULL) #5 engine/Shopware/Controllers/Backend/Article.php(224): Doctrine\ORM\EntityManager->flush() #6 engine/Library/Enlight/Controller/Action.php(193): Shopware_Controllers_Backend_Article->saveConfiguratorSetAction() #7 engine/Library/Enlight/Controller/Dispatcher/Default.php(549): Enlight_Controller_Action->dispatch(‚saveConfigurato…‘) #8 engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #9 engine/Shopware/Kernel.php(215): Enlight_Controller_Front->dispatch() #10 vendor/symfony/http-kernel/HttpCache/HttpCache.php(486): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #11 engine/Shopware/Components/HttpCache/AppCache.php(268): Symfony\Component\HttpKernel\HttpCache\HttpCache->forward(Object(Symfony\Component\HttpFoundation\Request), true, NULL) #12 vendor/symfony/http-kernel/HttpCache/HttpCache.php(253): Shopware\Components\HttpCache\AppCache->forward(Object(Symfony\Component\HttpFoundation\Request), true) #13 engine/Shopware/Components/HttpCache/AppCache.php(105): Symfony\Component\HttpKernel\HttpCache\HttpCache->pass(Object(Symfony\Component\HttpFoundation\Request), true) #14 shopware.php(122): Shopware\Components\HttpCache\AppCache->handle(Object(Symfony\Component\HttpFoundation\Request))