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.245
370
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.245
370
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.023
218
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
72
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.023
218
@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.245
370

Stephan K.

Sehr aktives Mitglied
14. Mai 2014
1.023
218
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
769
104
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
118
7
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
564
148
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
564
148
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

Neues Mitglied
27. Januar 2023
2
1
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 JTL Shop Ausverkauft auf Lager Filter Allgemeine Fragen zu JTL-Shop 0
Neu Payever JTL Shop 5.2 Fehler Plugins für JTL-Shop 0
Neuinstallation JTL-Shop 5 bei ionos https://meine_domain.de/admin/wizards Einrichtung JTL-Shop5 2
Neu JTL Shop 5.21 > Komprimierung von JavaScript- und CSS-Dateien zerschiesst Seite JTL-Shop - Fehler und Bugs 0
Neu JTL-SHOP Checkbox mit zwei verlinkungen im Text! Allgemeine Fragen zu JTL-Shop 1
Neu JTL-Shop 5.21 - WAWI 1.7.7.0 Hersteller erscheinen nicht im Shop JTL-Shop - Fehler und Bugs 1
Neu JTL Shop 5.21 Weiterleitungen funktionieren nicht JTL-Shop - Fehler und Bugs 0
Neu Probleme mit Produktbewertung für Rich-Snippets und Trusted Shops Plugin (Vers. 4.09) [JTL Shop 4.05] Plugins für JTL-Shop 0
Neu JTL Shop 5.1.5 zu 5.2.1 Error Installation / Updates von JTL-Shop 2
Neu Installation JTL Shop Installation / Updates von JTL-Shop 1
Neu Bestellbestätigung JTL Shop Allgemeine Fragen zu JTL-Shop 1
Neu JTL Shop 5 - Automatische Spracherkennung Allgemeine Fragen zu JTL-Shop 0
Neu 💙 Neues Plugin: Audioplayer Plus (stylischer Player mit Playlist für mehrere MP3-Dateien) für JTL-Shop 5 Plugins für JTL-Shop 0
Neu 💙 kostenloses Plugin: Shopauskunft Widget (Bewertungen sammeln und anzeigen) für JTL-Shop 5 Plugins für JTL-Shop 0
Neu JTL Shop 5.1.5 & PHP 8.0 - Fehlermeldung auf manchen Shopseiten (str_replace) Betrieb / Pflege von JTL-Shop 4
Neu JTL-Shop 5.2 - Aktuell 5.2.2 Releaseforum 2
Neu Feld "Beschreibung" aus Artikel > Merkmal im JTL Shop 5 darstellen Allgemeine Fragen zu JTL-Shop 0
JTL Shop 5 nach Installation nur teils erreichbar und kann nicht angebunden werden Einrichtung JTL-Shop5 3
Neu Dienstleister, Hilfe gesucht Upgrade JTL 3 Shop auf JTL 5 Shop Dienstleistung, Jobs und Ähnliches 1
Neu JTL Shop 5 - download-modul fragt kein Kundenkonto ab Allgemeine Fragen zu JTL-Shop 0
JTL Shop Abgleich nach Update auf 1.6.45.2 JTL-Wawi 1.6 5
Neu JTL Shop als "normale" Homepage? Allgemeine Fragen zu JTL-Shop 4
Neu RMA Handhabung im JTL Shop 5.X -> wie macht ihr das? Allgemeine Fragen zu JTL-Shop 2
Neu JTL Shop kritischer Bug - mehrfache Bestellung inkl. Zahlung! JTL-Shop - Fehler und Bugs 1
Fehler bei Abgleich von Wawi und JTL Shop 5 JTL-Wawi 1.6 2
Neu JTL Shop Bestellung fehlt in Shop & Wawi, Zahlung erhalten JTL-Shop - Fehler und Bugs 4
Neu Kunde bestellt unregistriert im JTL Shop, beim zweiten mal mit identischen Eingaben wird er in der WaWi nicht zusammengeführt? Allgemeine Fragen zu JTL-Shop 2
Neu JTL Shop 5 Plugin gesucht: Community Plugins für JTL-Shop 5
Neu JTL-Shop "Zugehörigkeit" von Kunden per Ameise ändern/anpassen? JTL Ameise - Eigene Exporte 2
Neu JTL Shop Frostgefahr / schutz bei bestimmten Artikeln User helfen Usern - Fragen zu JTL-Wawi 2
Neu SQL in der Shop Datenbank legt den JTL Shop (5.1.5) lahm User helfen Usern - Fragen zu JTL-Wawi 11
Staffelpreise werden im JTL Shop doppelt angezeigt - In der Wawi sind diese nur einzeln vorhande. JTL-Wawi 1.6 6
Neu Facebook Anbindung JTL Shop 5 Kommas Entfernen Beschreibung Schnittstellen Import / Export 2
Neu PayPal Express Checkout für JTL Shop 5 eröffnet zweite Schleife Plugins für JTL-Shop 1
Neu DLB Leasing in JTL Shop integrieren Technische Fragen zu Plugins und Templates 3
JTL Shop // Hosting // erster Start Einrichtung JTL-Shop5 6
Neu JTL Shop 5 + EVO + PayPal = Lizenz abgelaufen JTL-Shop - Fehler und Bugs 0
Neu Artikelkategorien Performanceprobleme im JTL Shop 5 Allgemeine Fragen zu JTL-Shop 0
JTL Shop 5 Modul aktivieren klappt nicht JTL-Wawi 1.6 4
Neu JTL Shop 5 Mails mit Zeitplan Allgemeine Fragen zu JTL-Shop 0
Neu Fehler JTL Shop 5 Betrieb / Pflege von JTL-Shop 1
Neu Checkboxen aus dem JTL Shop 5 in Bestellmail und WAWI übernehmen Installation / Updates von JTL-Shop 2
JTL Shop 5 Font Awesome JTL-Wawi 1.6 4
Neu OCI 4.0 Plugin für JTL Shop 5 gesucht Plugins für JTL-Shop 0
Neu Plugin oder Quellcode für Laufschrift im Header JTL Shop 5 Installation / Updates von JTL-Shop 0
Neu JTL Shop Verfügbarkeitsanzeige User helfen Usern 2
Neu JTL Shop 4 - Das Ende ist da. Allgemeine Fragen zu JTL-Shop 3
Neu Tipps für die Ladbarkeit JTL Shop 5 NOVA? JTL-Shop - Ideen, Lob und Kritik 2
Sämtliche Kinderartikel im JTL-Shop 5 anzeigen Einrichtung JTL-Shop5 0
Neu JTL Shop 5 Lizenz zu verkaufen Business Jungle 1

Ähnliche Themen