Beantwortet JTL Shop 5 - Sortierung Variationen bei KindArtikel

Fr33z3m4n

Aktives Mitglied
14. November 2010
39
0
Hallo zusammen,

ich bin gerade dabei den neuen JTL Shop 5 zu testen.

Dabei ist mir aufgefallen, dass die Sortierung von Variationen (als Swatch Anzeige) bei den Kindartikeln durcheinander ist.

Anzeige des Vaterartikels:
1605552423408.png

Nach der Auswahl einer Variation:
1605552455251.png

Sortierung der einzelnen Artikel in der Wawi ist gesetzt und fortlaufend.

Mit freundlichen Grüßen
 

JulianG

Administrator
Mitarbeiter
14. November 2013
1.254
398
Hi. Wurden die Artikel mit der Ameise importiert?

Kannst du bitte die Variationen in der Wawi einmal "neu hin und her"-sortieren? Sprich: Jede Variation bzw. wert einmal runter, rauf und dann speichern und abgleichen.
 

Fr33z3m4n

Aktives Mitglied
14. November 2010
39
0
Hi,

nein, die Artikel wurden nicht importiert. Es handelt sich hierbei um eine Kopie eines Mandanten.

Das habe ich bereits gemacht, da vorher gar keine Sortierung bei den einzelnen Artikeln vorlag.

Habe es dann auch kontrolliert, und die Sortierungsnummern werden im Array des Artikels auch ausgeliefert, allerdings passt halt die Sortierung nach diesen nicht.
 

JulianG

Administrator
Mitarbeiter
14. November 2013
1.254
398
Eventuell verwechselst du die Variationssortierung mit der Varationswertsortierung (teigenschaft vs teigenschaftwert)? Kannst du mal den Inhalt prüfen/posten für den Vaterartikel von teigenschaftwert (über teigenschaft)?
 

Fr33z3m4n

Aktives Mitglied
14. November 2010
39
0
Eventuell verwechselst du die Variationssortierung mit der Varationswertsortierung (teigenschaft vs teigenschaftwert)? Kannst du mal den Inhalt prüfen/posten für den Vaterartikel von teigenschaftwert (über teigenschaft)?

Ahh stimmt auffallend. Danke Dir für den Hinweis.

Sehe ich das nun aber richtig, dass ich die Sortierung der Werte nicht in der Wawi vornehmen kann ? (vergeben einzelner Sortierungsnummer pro Wert).
Lediglich per Ameise ?
 

Fr33z3m4n

Aktives Mitglied
14. November 2010
39
0
Hi. Wurden die Artikel mit der Ameise importiert?

Kannst du bitte die Variationen in der Wawi einmal "neu hin und her"-sortieren? Sprich: Jede Variation bzw. wert einmal runter, rauf und dann speichern und abgleichen.
Wer lesen kann, ist klar im Vorteil. Mit dieser Vorgehensweise "rauf runter" kann ich nun die Sortierung entsprechend übernehmen.

Gab es diesbzgl. mal ein Update ? Bei jedem Variationswert steht eine 0 in nSort.
 

Fr33z3m4n

Aktives Mitglied
14. November 2010
39
0

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.256
298
Hi,
der blöde bug existiert inzwischen seit dreieinhalb Jahren und ist sowas von peinlich. Jede Varkombi-Auswahl lässt die Auswahl danach wie von blöden Affen programmiert erscheinen und ist einfach nur kundenunfreundlich und dämlich.
Es geht hier um eine SORTIERUNG bei der ARTIKELANLAGE. Das passiert chronologisch. Wie schwer kann es sein, die Sortierwerte ebenfalls chronologisch anlegen zu lassen?
 

Jan-Patrick Schmidt

Moderator
Mitarbeiter
15. März 2019
317
73
Hallo Stephan,

die Variationen sowie die Variationswerte haben in der Datenbank eine Sortiernummer.
Du kannst, wenn die Werte nicht wie gewünscht im Shop angezeigt werden die Sortiernummern mit der JTL-Ameise anpassen.
Filtere und exportiere dir dazu die gewünschten Artikel mit dem Variations-Export. Mit mindestens den Spalten Artikelnummer, Variationsname, Sortiernummer Variation, Variationswertname und Sortiernummer Variationswert.
Passe in der Exportdatei die Sortiernummer Variation und Sortiernummer Variationswert jeweils an. Fange bei der Sortierung mit 1 an, um zu entscheiden welche Variation bzw. welcher Variationswert als erstes angezeigt werden soll und zähle die weiteren Nummern bei den Variationen und Variationswerten hoch.

Als Beispiel eine Datei von mir:
Artikelnummer;Variation;Sortiernummer (Variation);Variationswert;Sortiernummer (Variationswert)
JP2021-187;Farbe;0;blau;1
JP2021-187;Farbe;0;grün;2
JP2021-187;Größe;1;s;1
JP2021-187;Größe;1;l;2
JP2021-187;Größe;1;xl;3
JP2021-187;Größe;1;xxl;4
 
  • Gefällt mir
Reaktionen: Ivan T.

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.256
298
@Jan-Patrick Schmidt
Vielen Dank für die Antwort. Ich weiß wie es geht und finde die Lösung leider nur in der Theorie hilfreich. Mach das mal mit 50.000 Variationen. Daher nur hilfreich in der Theorie.
Wesentlich besser wäre ein SQL-Skript oder wenn es schon manuell mit Excel sein muss, dann:


Vaterartikel "Artikelnummer"=ZÄHLENWENN($A$1:A1;A1) (Sortiernummer äquivalent zu "
Sortiernummer Variationswert"
A
A
A
1
2
3
B
B
B
B
1
2
3
4
B1
B1
B1
B1
1
2
3
4
B1-2
B1-2
B1-2
B1-2
B1-2
B1-2
1
2
3
4
5
6

Das bedeutet: Für jeden Vaterartikel (Ameisenexport inkonsistent als "Artikelnummer") wird geprüft wie oft er vorkommt. Danach wird durchnummeriert. Für jeden neuen Vaterartikel fängt die Durchnummerierung neu an.
Deutlich praxisnäher, wenn man schon etwas länger mit der Wawi arbeitet und nicht nur drei Artikel hat, wo man Pfeile nach oben und unten schiebt, abspeichert und nochmal Pfeile durch die Gegend schiebt.

Weiterhin ist es ja lediglich eine Symptombekämpfung und keine Ursachenbehebung. Daher ist die Kritik mit dreieinhalb Jahren durchaus gerechtfertigt für so einen "Pups," der in der Praxis jeden Shop mit Variationen wie[...] derholung.


Das Problem wurde als gelöst gekennzeichnet. Ich (man) gehe nicht davon aus, dass jede Artikelanlage erneut geprüft werden muss, ob JTL hier wieder Inkonsistenzen einprogrammiert. Daher ist es umso ärgerlicher erst jetzt bei einer Stichprobe erneut zu sehen, dass das Problem wieder existiert.
 

JulianG

Administrator
Mitarbeiter
14. November 2013
1.254
398

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.256
298
P.S.: Extrem nerviger Bug:

Wenn die "Darstellungsform" ausgewählt wird, dann funktioniert nur die Sortierung der Variationswertnamen. Die Variationsnamen müssen erst Standard importiert werden - wodurch jegliche Auswahlfelder in Dropdown geändert werden - und erst danach muss man den VarKombi Import wie beim ersten Mal durchführen mit Darstellungsformen.

Backup ALLER Darstellungsformen
dann Import der logischen (alphabetisch, numerisch etc) Sortierung
dann nochmal den gleichen Import mit gewünschten Darstellungsformen.

Das hat gerade echt viel Zeit gefressen das herauszufinden.


Und noch viel nerviger:
Im Shop 5 passieren trotzdem immer wieder die nervigen Vertauscher der Variationswerte.
Wenn ich mich durch alle Variationskombis klicke, dann tauschen sich immer wieder die anderen Variationsnamen in der Reihenfolge ab.
Dimension 1: 0
1A, 2B, 3C

Dimension 2: 1
1a, 2b, 3b

Wenn ich 1A auswähle und dann die 2. Dimension durchklicke, vertauschen sich wieder die Namen der ersten Dimension...
Also es scheint... dass dieses Problem wohl leider zu JTL gehört. Selbst wenn man sich durch bugs kämpft und die Sortierung richtig angestoßen hat (Prüfung durch erneuten Export)
 
Zuletzt bearbeitet:

Star Piercing

Sehr aktives Mitglied
1. Dezember 2012
1.604
452
Wir haben das Problem auch und es ist total Nervig!
Komisch ist das mir das erst seit dem Shop 5 aufgefallen ist, ich könnte fast wetten das dieser fehler im Shop 4 noch nicht war.

Viele Artikel sind schon ca. 7-8 Jahre in der Wawi und dort ist der Fehler auch.
Alle Artikel wurden in der Wawi selber erstellt und nicht via Ameise.

Wenn ich die Sortierung im Artikel ändere -> speichere -> dann korrekt sortiere -> speichere -> Dann stimmt es im Shop und alles ist korrekt.

Aber soll ich das jetzt bei 35000 Artikel alles von Hand machen? :oops:
 

T-Web

Gut bekanntes Mitglied
14. Mai 2019
187
11
Der Fehler besteht wohl immer noch ! - Per Ameise importier, im Shop 5 eine Grösse anklicken und alles ist durcheinander.

Dann in der WAWI eine Grösse vertauschen, Speichern, wieder vertauschen, dass die Reihenfolge wieder stimmt und speichern, dann vertauscht nichts mehr im Shop.
Muss ich jetzt bei jedem neu importieren Artikel machen, sonst herrscht Chaos im Shop ! - Lösung ?
 
  • Gefällt mir
Reaktionen: modellflieger

forumjtlolshopag

Sehr aktives Mitglied
6. Juni 2018
821
239
Kann hier nicht ggf. über die interne Id sortiert werden? Haben das Problem auch.
Haben uns im Child Template eine Sort Funktion hinzugefügt, damit wir im Template bei den Variationen nach kEiegenschaftWErt sortieren können. Damit haut das erstmal für uns hin.
 
Zuletzt bearbeitet:

forumjtlolshopag

Sehr aktives Mitglied
6. Juni 2018
821
239
Klar, hab das in der Bootstrap hinzugefügt.
PHP:
/**
 * sortiert die variationen
 * @param $mixed
 * @param null $to
 * @return null
 */
function my_sort_variations( &$mixed, $to = null )
{
    if(is_array($mixed)) {
        usort($mixed, function ($a, $b)
        {
            if ($a->kEigenschaftWert == $b->kEigenschaftWert) {
                return 0;
            }
            return ($a->kEigenschaftWert < $b->kEigenschaftWert) ? -1 : 1;
        });
    }
    return $mixed;
}

In der Bootstrap auch die neue Funktion registriert in der Klasse die da schon da ist:
PHP:
class Bootstrap extends \Template\NOVA\Bootstrap
{
    /**
     * @inheritdoc
     */
    public function boot(): void
    {
        parent::boot();
        // whatever you do, always call parent::boot() or delete this method!
    }

    protected function registerPlugins(): void
    {
        parent::registerPlugins();
        // whatever you do, always call parent::registerPlugins() or delete this method!
        $smarty = $this->getSmarty();
        if ($smarty === null) {
            // this will never happen but it calms the IDE down
            return;
        }
        //HIER hinzugefügt.
        $smarty->registerPlugin( 'modifier', 'sortVariations', 'Template\NOVAChild\my_sort_variations' );
    }
}

Dann in der variation.tpl den modifier hinzugefügt, sodass das Array mit den Werten vorsortiert wird .Habs bei uns nur für die Selectbox gemacht (from=$Variation->Werte|sortVariations):
HTML:
...
                            {/if}
                        </dt>
                        <dd class="form-group text-left-util">
                            {if $Variation->cTyp === 'SELECTBOX'}
                                {block name='productdetails-variation-select-outer'}
                                {select data=["size"=>"10"] class='custom-select selectpicker' title="{lang key='pleaseChooseVariation' section='productDetails'}" name="eigenschaftwert[{$Variation->kEigenschaft}]" required=!$showMatrix}
                                    {foreach name=Variationswerte from=$Variation->Werte|sortVariations key=y item=Variationswert}
                                        {assign var=bSelected value=false}
                                        {if isset($oVariationKombi_arr[$Variationswert->kEigenschaft])}
                                            {assign var=bSelected value=in_array($Variationswert->kEigenschaftWert, $oVariationKombi_arr[$Variationswert->kEigenschaft])}
                                        {/if}
                                        {if isset($oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft])}
                                            {assign var=bSelected value=$Variationswert->kEigenschaftWert == $oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft]->kEigenschaftWert}
                                        {/if}
                                        {if ($Artikel->kVaterArtikel > 0 || $Artikel->nIstVater == 1) && $Artikel->nVariationOhneFreifeldAnzahl == 1 &&
                                        $Einstellungen.global.artikeldetails_variationswertlager == 3 &&
                                        !empty($Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar) && $Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar == 1}
...
 
  • Ich liebe es
Reaktionen: Trigomorph

Trigomorph

Aktives Mitglied
27. Januar 2023
7
2
Klar, hab das in der Bootstrap hinzugefügt.
PHP:
/**
 * sortiert die variationen
 * @param $mixed
 * @param null $to
 * @return null
 */
function my_sort_variations( &$mixed, $to = null )
{
    if(is_array($mixed)) {
        usort($mixed, function ($a, $b)
        {
            if ($a->kEigenschaftWert == $b->kEigenschaftWert) {
                return 0;
            }
            return ($a->kEigenschaftWert < $b->kEigenschaftWert) ? -1 : 1;
        });
    }
    return $mixed;
}

In der Bootstrap auch die neue Funktion registriert in der Klasse die da schon da ist:
PHP:
class Bootstrap extends \Template\NOVA\Bootstrap
{
    /**
     * @inheritdoc
     */
    public function boot(): void
    {
        parent::boot();
        // whatever you do, always call parent::boot() or delete this method!
    }

    protected function registerPlugins(): void
    {
        parent::registerPlugins();
        // whatever you do, always call parent::registerPlugins() or delete this method!
        $smarty = $this->getSmarty();
        if ($smarty === null) {
            // this will never happen but it calms the IDE down
            return;
        }
        //HIER hinzugefügt.
        $smarty->registerPlugin( 'modifier', 'sortVariations', 'Template\NOVAChild\my_sort_variations' );
    }
}

Dann in der variation.tpl den modifier hinzugefügt, sodass das Array mit den Werten vorsortiert wird .Habs bei uns nur für die Selectbox gemacht (from=$Variation->Werte|sortVariations):
HTML:
...
                            {/if}
                        </dt>
                        <dd class="form-group text-left-util">
                            {if $Variation->cTyp === 'SELECTBOX'}
                                {block name='productdetails-variation-select-outer'}
                                {select data=["size"=>"10"] class='custom-select selectpicker' title="{lang key='pleaseChooseVariation' section='productDetails'}" name="eigenschaftwert[{$Variation->kEigenschaft}]" required=!$showMatrix}
                                    {foreach name=Variationswerte from=$Variation->Werte|sortVariations key=y item=Variationswert}
                                        {assign var=bSelected value=false}
                                        {if isset($oVariationKombi_arr[$Variationswert->kEigenschaft])}
                                            {assign var=bSelected value=in_array($Variationswert->kEigenschaftWert, $oVariationKombi_arr[$Variationswert->kEigenschaft])}
                                        {/if}
                                        {if isset($oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft])}
                                            {assign var=bSelected value=$Variationswert->kEigenschaftWert == $oEigenschaftWertEdit_arr[$Variationswert->kEigenschaft]->kEigenschaftWert}
                                        {/if}
                                        {if ($Artikel->kVaterArtikel > 0 || $Artikel->nIstVater == 1) && $Artikel->nVariationOhneFreifeldAnzahl == 1 &&
                                        $Einstellungen.global.artikeldetails_variationswertlager == 3 &&
                                        !empty($Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar) && $Artikel->VariationenOhneFreifeld[$i]->Werte[$y]->nNichtLieferbar == 1}
...
Habe es heute implementiert.
1.000 Dank an Dich!
Endlich ist dieses leidige Thema erstmal vom Tisch
 
  • Gefällt mir
Reaktionen: forumjtlolshopag
Ähnliche Themen
Titel Forum Antworten Datum
Neu OnFinds: KI-Suche für JTL-Shop mit fairer Abrechnung nach Artikelanzahl. 30 Tage kostenlos testen Plugins für JTL-Shop 0
Neu Freelancer für JTL-Wawi, Shop & Prozessautomatisierung Dienstleistung, Jobs und Ähnliches 0
Neu JTL Shop 5.7.1 mit Fehlern - versandarten zahlungsarten nicht änderbar, leere weiße Seite JTL-Shop - Fehler und Bugs 5
Neu Massiver jtl-shop-cron aufruf JTL-Shop - Fehler und Bugs 7
Neu Neues Plugin: Erweiterter Widerrufsbutton für JTL-Shop Plugins für JTL-Shop 9
Neu [Suche 5 Beta-Tester] KI generiert JTL Shop 5 Templates per Beschreibung – kostenlos testen Templates für JTL-Shop 7
Neu Telemetrie-Datenerfassung in JTL-Shop 5.7.0: Bitte um Klarstellung der DSGVO-relevanten Aspekte Allgemeine Fragen zu JTL-Shop 4
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 500 Upgrade JTL-Shop4 auf JTL-Shop5 3
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 404 Upgrade JTL-Shop4 auf JTL-Shop5 11
Neu JTL Shop 5 und Klarna Plugins für JTL-Shop 0
Neu JTL Shop 5.7 - Widerrufsbutton im B2B Templates für JTL-Shop 14
Neu Dropdown jtl shop länge einstellen Allgemeine Fragen zu JTL-Shop 2
JTL-Shop 5.7.0 Widerrufsbutton Einrichtung JTL-Shop5 31
Neu JTL Shop Template Snackys Bildgrößen einstellen Templates für JTL-Shop 1
Neu JTL-Shop 5.7 - Aktuell 5.7.1 Releaseforum 1
Neu Gratisgeschenke im JTL Shop nicht wirklich nutzerfreundlich. Allgemeine Fragen zu JTL-Shop 4
Neu Eigene Artikel Felder im JTL Shop anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Hilfe bei der Entwicklung gesucht: Werde Tester für meine JTL-Shop Plugins Plugins für JTL-Shop 0
Neu JTL-Shop "Plugin-Vorlage" gesucht User helfen Usern 3
Neu JTL - Shop Adressprüfung - Erfahrungen ? Allgemeine Fragen zu JTL-Shop 2
Neu Wo ist JTL-Debug geblieben? Shopvariablen beim Shop-/Templateentwicklung sichtbar machen? Plugins für JTL-Shop 10
Neu Alte Produktbilder erscheinen im JTL-Shop trotz Löschung und neuem Upload immer wieder – JTL-Wawi enthält nur neue Bilder JTL-Wawi - Fehler und Bugs 16
Neu JTL Shop 5 Sync in JTL WAWI 2.0.0 zeigt Verbindungstest Fehlermeldung Onlineshop-Anbindung 4
Neu Rechnung im JTL Shop Kundenkonto Onlineshop-Anbindung 1
Neu Strukturierte Daten vom Typ "Produkt" werden nach Update auf JTL Shop 5.6.1 nur fehlerhaft erkannt JTL-Shop - Fehler und Bugs 3
Neu Wero für den JTL Shop? Plugins für JTL-Shop 21
Neu JTL-Shop Verkauf - Tipps? Business Jungle 5
Neu Kategoriestruktur auf JTL-Wawi in WooCommerce Shop darstellen WooCommerce-Connector 2
Neu DSGVO – Automatisierte Löschung von Kundendaten nach 10 Jahren (JTL-Wawi / JTL-Shop) User helfen Usern - Fragen zu JTL-Wawi 2
Artikel Eigene Felder kommen nur beim ersten Shopabgleich in den JTL-Shop JTL-Wawi 1.11 2
Neu welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL Allgemeine Fragen zu JTL-Shop 0
welche Sync Benutzer Daten in Shop und WAWI bei neu-Hosting über JTL JTL-Wawi 1.11 0
Neu OPC friert beim speichern von Änderungen ein nach JTL-Shop Update von Version 5.1.5 auf 5.6.1 JTL-Shop - Fehler und Bugs 6
Neu Eignes Feld aus Auftrag in Rechnung anzeigen lassen JTL-WaWi 1.11.10 Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu JTL FFN Seite defekt? JTL-Fulfillment Network - Fehler und Bugs 1
Neu Hilfe bei jtl-pos Synchronisation User helfen Usern - Fragen zu JTL-Wawi 4
Beantwortet JTL-POS „Rechnung drucken“ Allgemeine Fragen zu JTL-POS 2
JTL ERP-Connector JTL-Wawi 2.0 0
Neu Reverse Charge Verfahren - JTL richtiger Steuersatz Shopify-Connector 1
Neu Umzug von sehr alter JTL Wawi Version auf neuen PC User helfen Usern - Fragen zu JTL-Wawi 3
Neu JTL REST API (on premise) - welche API Version ab welcher Wawi-Version? Changelog? Schnittstellen Import / Export 0
Neu Ab welcher JTL Wawi Version ist der OnPremise REST API Endpoint POST /v2/returns oder POST /v1/returns für Create Return verfügbar? Schnittstellen Import / Export 0
Neu JTL Stammtisch im TurboZentrum 04.06.2026 Messen, Stammtische und interessante Events 0
Neu JTL Stammtisch Dresden 21.05.2026 Messen, Stammtische und interessante Events 0
Neu JTL Stammtisch Bochum am 20.05.2026 (morgen) Messen, Stammtische und interessante Events 0
Manche Produkte werden nicht erkannt JTL/ Shopify JTL-Wawi 2.0 3
Bessere Greyhound-Anbindung ab 1.10 - JTL-API-Pflicht? JTL-Wawi 1.10 12
Neu Seller2Go – Mobile App & JTL-Plugin für Bestellungen, Support und Produktmanagement Plugins für JTL-Shop 0
JTL Ameise Lieferantenbestellung mit VPE importieren oder umrechnen JTL-Wawi 1.11 0
JTL-Stammtisch Bochum – am 20.05.2026 Messen, Stammtische und interessante Events 0

Ähnliche Themen