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.258
299
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.258
299
@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.258
299
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.612
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
825
240
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
825
240
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 Shop 5.7.2 - JTL PayPal Checkout legt alles lahm JTL-Shop - Fehler und Bugs 4
Neu JTL Shop Plugin - BD Automatisierter Widerruf (Von Händler für Händler - Schluss mit Mail-Chaos & Spam-Sorgen!) Plugins für JTL-Shop 0
Neu Welche JTL Shop Plugins oder kleinen Hilfstools würden euch im Alltag wirklich helfen? Plugins für JTL-Shop 0
Neu Plugin: JTL Exportformat Google Shopping gibt <g:google_product_category> unter Shop 5.7.1 und Wawi 2.0.4 nicht aus Plugins für JTL-Shop 1
Neu Widerrufsbutton für JTL-Shop 4 Allgemeine Fragen zu JTL-Shop 17
Neu Rabatte aus dem JTL-Shop werden in der Wawi nur als Netto-Preis übernommen, Rabatt % gehen verloren Onlineshop-Anbindung 0
Neu JTL-Shop - Wechsel von Test zum Livebetrieb - was beachten ? Installation / Updates von JTL-Shop 2
Neu Meta Shop seit September 2025: JTL-Lösung für neue Checkout-URL gesucht Allgemeine Fragen zu JTL-Shop 0
Rabatt Coupons in Verbindung mit Staffelpreisen - JTL 1.11.9, JTL Shop JTL-Wawi 1.11 0
Fehler beim Abgleich mit dem JTL-Shop JTL-Wawi 2.0 12
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 2
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 5
JTL Shop 4 Upgrade auf 5.5.0 --> Fehler 500 Upgrade JTL-Shop4 auf JTL-Shop5 2
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 18
Neu Dropdown jtl shop länge einstellen Allgemeine Fragen zu JTL-Shop 2
JTL-Shop 5.7.0 Widerrufsbutton Einrichtung JTL-Shop5 42
Neu JTL Shop Template Snackys Bildgrößen einstellen Templates für JTL-Shop 1
Neu JTL-Shop 5.7 - Aktuell 5.7.2 Releaseforum 2
Neu Gratisgeschenke im JTL Shop nicht wirklich nutzerfreundlich. Allgemeine Fragen zu JTL-Shop 4
JTL-Ameise 2.04 - Export Rechnungen csv - unvollständig JTL-Wawi 2.0 12
Neu Belege aus JTL Wawi zu Lexoffice Schnittstellen Import / Export 5
Neu Varianten die nicht online in JTL geschaltet sind werden trotzdem zu Shopify geladen Shopify-Connector 2
Neu Gesucht: JTL-Systempartner/Freelancer mit Erfahrung in Personalisierungs-/Gravur-Fulfillment Dienstleistung, Jobs und Ähnliches 2
Neu JTL Stammtisch Stuttgart Messen, Stammtische und interessante Events 0
Neu Copy/Paste Abstürze seit JTL-Wawi 2.0.5 User helfen Usern - Fragen zu JTL-Wawi 4
Gelöst: Störung bei LInk11 - JTL- Shops teilweise nicht erreichbar Störungsmeldungen 1
JTL Update auf 1.9 , danach Import Kundenspezifrische Preise velerhaft JTL-Wawi 1.9 0
Wie übernehme ich Artikelnamen von JTL in den neuen Kaufland Niederlande-Verkaufskanal? JTL-Wawi 1.11 1
Neu Wie stelle ich Retouren in JTL für DPD ein? JTL-ShippingLabels - Ideen, Lob und Kritik 1
Neu JTL Wawi 1.11.11 - Zahlungsabgleich bei FYRST Bank verlangt immer Passwort User helfen Usern - Fragen zu JTL-Wawi 0
Neu Der wahrscheinlich östlichste JTL Servicepartner: Standortvorteil, faire Preise und vieles mehr Dienstleistung, Jobs und Ähnliches 16
Neu JTL ShippingLabels - Meldungen JTL-ShippingLabels - Fehler und Bugs 7
Neu Beta-Tester gesucht: Produktdaten aus Artikelfotos schneller für JTL/CSV vorbereiten Dienstleistung, Jobs und Ähnliches 0
Neu oAuth Credentials Login mit JTL .. WO? User helfen Usern 1
Neu Installationsdatei für JTL‑Wawi 1.9.6.5 Installation von JTL-Wawi 2
Neu kostenlos: DHL Sendungsverfolgung für JTL-Wawi – Web-Dashboard mit Frühwarnsystem Schnittstellen Import / Export 0
Neu JTL Wawi 2.0 oder höher WooCommerce-Connector 0
Changelog jtl Wawi 2.0.5 JTL-Wawi 2.0 10
Neu Ist es ohne Probleme möglich Cloudflare in der Free Version mit JTL zu nutzen? Allgemeine Fragen zu JTL-Shop 7
JTL 5.7.1 Widerrufsformular massiver SPAM Einrichtung JTL-Shop5 3
JTL Wawi 1.11.xx langsam unbenutzbar! JTL-Wawi 1.11 4
JTL Anmeldung letzter Benutzer JTL-Wawi 1.11 3
Test-Kunden als solche in JTL markieren, um die Auswertungen sauber zu halten? JTL-Wawi 1.11 1

Ähnliche Themen