Neuer Tab/Reiter Fehler bei Artikelvarianten

Hallo Zusammen,

ich habe einen neuen Tab in unser eigenes Shopwaretemplate eingefügt mit der folgenden Anleitung eingefügt.

https://shopwareianer.com/tutorials/shopware5-eigene-tabs-in-der-detail-ansicht

Der Tab wird beim Artikel auch angezeigt.

Sobald ich eine Variante innerhalb des Artikels auswähle habe ruft sich der zusätzliche Reiter jedoch nicht mehr auf sondern bleibt bei Beschreibung stehen obwohl sich der Button sichtbar wechselt.

Erst wenn ich die komplette Seite einmal aktualisiere kann ich den Tab auswählen.

Hat jemand eventuell eine Idee woran es liegt? 

 

Der Inhalt vom Tab ändert sich, also der Tabwechsel und der Inhaltscontainer wechseln sich nach dem Variantenwechsel, der wirkliche Inhalt des Tabs-Containers ändert sich!

Genau das haben wir nun auch, unter 5.2.1 gab es das jedenfalls sicher noch nicht, sehe ich in einem alten Testsystem.
Ich habe 5.2.6 dafür installiert und sehe das nun auch, beim Variantenwechsel wird der Container „content–description“ durch das Varianten-Nachladen ebenfalls aktualisiert - aber konsequent und überall mit dem Langtext-Container.

Das blöde ist, dass in der Upgrade.md davon nichts zu sehen ist - was ist da passiert?
Das beenflusst nun einige Plugins, die Tabs erstellen.

Erster Lösungsvorschlag ist, eigene Container in eigenen Tabs nicht „content–description“ zu benennen - dann werden die Container vom nachladen verschont.
Intetessant für mich wäre jetzt auch, wie man diese Funkationlität erweitern kann, damit beim Variantenwechsel auch eigene tabs aktualisiert werden könnten!

Schöne Grüße,
Niklas

1 „Gefällt mir“

Das liegt daran, dass das Tutorial fehlerhaft ist. Wenn die Option zur Anzeige vom Bewertungstab deaktiviert ist, dann verursacht die Erweiterung des Tutorials dieses Problem.

Siehe diesen Thread mit der Lösung:

2 „Gefällt mir“

Ich kann aber das nachladen verhindern, indem ich den Containner statt „content–description“ z.B. „custom-content–description“ benenne.
Außerdem sind die Beiträge teilweise ein halbes Jahr alt, ich kann das mit dem Tab Inhalt in 5.2.1 mind. erfolgreich nachstellen, es muss sich in den letzten beiden Updates etwas getan haben.

Das mit dem Bewertungs- Tab öffnen wurde in 5.2 gefixt, das ist korrekt - aber darum geht es gerade nicht ganz :wink:
Es geht darum, dass nach einem Variantenwechsel per ajax der Langtext Container nachgeladen wird, und bei gleichen Namen der divs in anderen Tabs werden diese seit einem der letzten SW Updates nun auch aktualisiert.

Update 1 : Tatsache, ist erst seit 5.2.4 so https://github.com/shopware/shopware/blob/v5.2.4/themes/Frontend/Responsive/frontend/_public/src/js/jquery.ajax-variant.js#L37, der Selector wird in productDetailsDescriptionSelector gespeichert, mit dem von mir besagten „content–description“
Unter 5.2.3 gab es das noch nicht. Jetzt die große Frage, wieso so etwas nicht in der Upgrade.md genannt wird?
Gibt doch unendlich viele Menschen, die Tabs hinzufügen - und nach dem alten Schema wird das jetzt ja einfach übergebügelt … :confused:

Update 2 : Wie oben bereits geschrieben - konnte jetzt erst einmal das Problem lösen, indem der content–description Container einen anderen Klassennamen bekommt. Jetzt wäre es ebenfalls interessant, wie man vielleicht selbst im JS Plugin einsteigen kann, um Tab-Inhalte beim Variantenwechsel nachzuladen.

Schöne Grüße,
Niklas

1 „Gefällt mir“

Vielen lieben Dank für die schnelle Hilfe. Ich habe den Container umbenannt und alles läuft soweit.

Ich finde es auch ein wenig irritierend, daß man in der Ugrade Beschreibung hierzu nichts findet.

Vielleicht kann Shopware hierzu etwas posten?

Schöne Grüße,

Oliver

Ich bin auch immer noch an Feedback interessiert …
Ich verstehe nämlich überhaupt nicht, wieso der Langtext Block aktualisiert wird - die Varianten haben doch gar nicht individuelle Langtexte?
Wieso wird dann überhaupt den Beschreibungs- Contaner mit seinem eig. ursprünglichen Inhalt setzen? …

Schöne Grüße,
Niklas

Ich verstehe nämlich überhaupt nicht, wieso der Langtext Block aktualisiert wird - die Varianten haben doch gar nicht individuelle Langtexte?
Wieso wird dann überhaupt den Beschreibungs- Contaner mit seinem eig. ursprünglichen Inhalt setzen? …

 
Um das noch einmal wieder nach vorne zu bringen …

Schöne Grüße,
Niklas

Müsste dieser Commit gewesen sein: SW-15560 - Fix article question variant · shopware/shopware@1b4efe9 · GitHub

Das Ticket dazu: Shopware Issuetracker

Technisch kann ich das nicht beurteilen. Wenn da was nicht passt oder fehlt, am besten ein Ticket aufmachen.

 

Sowas lässt sich aber auch immer schnell über Github herausfinden. Einfach die Datei öffnen und die letzten Commits durchschauen.

[@Moritz Naczenski](http://forum.shopware.com/profile/14574/Moritz Naczenski „Moritz Naczenski“)‍ Danke für das Feedback, aber die Stelle hatte ich ja schon ausfindig gemacht ;) Es ging auch eher darum, wieso so eine Änderung gar nicht in der UPGRADE als Feature bzw. Änderung deklariert wurde, ich musste da erst von Kunden drauf aufmerksam gemacht werden … :confused: Das Ticket verstehe ich, das hatte aber dann weitreichend (jedenfalls für mich) erst einmal negative Folgen.

Dann mal gucken, was man daraus macht … Danke für Deine Antwort nochmals! :slight_smile:

Schöne Grüße,
Niklas

*Schubs mal hoch*
Auch wenn es mich wegen (noch) fehlender Varianten nicht direkt betrifft, wollte ich auch mein eigenes kleines Plugin anpassen.
Durch die Änderung von “content–description” nach z.B. “custom-content–description” sollte es ja klappen, nur gehen mir damit zunächst die Formatierungen aus “content–description” verloren. Nun dachte ich, ich vererbe in meiner Plugin all.less einfach “content–description” nach “custom-content–description”. Leider schmeisst mir der Compiler dann aber den Fehler, dass er “content–description” nicht kennt. Ich gehe mal davon aus, dass ich hierfür a) im Compiler die Reihenfolge umstellen muss oder b) die Class in der eigenen LESS 1:1 nachbauen muss? Da es ja eigentlich nur 3x paddings sind, habe ich mich für b) entschieden.

Oder habe ich irgendwo etwas übersehen, und mir das Leben unnötig schwer gemacht?

Das Problem besteht leider nach wie vor und ist sehr ärgerlich.

Wir haben sehr unterschiedliche Versandmodelle je nach Produkt und blenden diese zum Beispiel in einem der Tabs ein.

@Sunday-Pools schrieb:

Das Problem besteht leider nach wie vor und ist sehr ärgerlich.

Wir haben sehr unterschiedliche Versandmodelle je nach Produkt und blenden diese zum Beispiel in einem der Tabs ein.

oben sind doch Lösungsansätze genannt 

Hallo,

ich habe für das Problem nun folgende Lösung entwickelt:

  1. Umbenennen der Klasse der neuen Tabs in zB “custom-content–description” (bei mir in frontend/detail/tabs.tpl)

  2. im LESS/CSS entsprechende Paddings für diese Klasse analog zu .content–description anlegen, zB

    .custom-content–description {
    .unitize-padding(10, 10);
    }

    @media screen and (min-width: @tabletViewportWidth) {
    .custom-content–description {
    .unitize-padding(30, 30);
    }
    }

  3. im JavaScript (zB im theme-eigenen) folgendes einfügen: (verwendet das Event aus Responsive/frontend/_public/src/js/jquery.ajax-variant.js)

    jQuery(document).ready(function() {

     $.subscribe( "plugin/swAjaxVariant/onRequestData", function(data, me, response, values, location) {
     		var counter = 0;
     		$response = $($.parseHTML(response));
     		$('.custom-content--description').each(function() {
     			$(this).html($response.find('.custom-content--description:eq(' + counter + ')').html());
     			counter++;
     		});
     	}
     );
    

    });

 

Hat bei mir soweit dann funktioniert, dass die einzelnen Tabs richtig ersetzt werden. Was ich jedoch nicht abdecke ist das Ein- bzw. Ausblenden von Tabs bei denen in der Variante eine Eigenschaft nicht gesetzt ist.

Vielleicht hilft es ja wem.

LG,
Flo

2 „Gefällt mir“

Nice!!! Das habe ich gesucht. Vielen Dank!