Produkte: Selbsterstellte Felder keine Sortierung mehr möglich

  • Ausgangslage

    Produkt mit mehreren selbsterstellten Feldern.


    Mit dem Icon «Benutzerdefiniertes Feld sortieren» kann die Reihenfolge der Felder geändert werden: mit der Maus Drag & Drop.

    Beim Speichern wird wieder die ursprüngliche Reihenfolge wiederhergestellt.
    Oder anders formuliert: die neue Reihenfolge wird nicht gespeichert.

  • Danke für Deine Antwort! Ich hatte das Problem bereits bei com_virtuemart.4.4.4.11101. Aktuell bin ich bei com_virtuemart.4.4.6.11109 und das Problem ist immer noch da. Woran könnt das liegen, dass es bei Dir nicht reproduzierbar ist, bei mir aber schon?


    Den Tipp «Override Haken einschalten» habe ich jetzt überhaupt nicht verstanden. Wo sollte ich was genau tun? Hier ein Screenshot meiner unsortierbaren Felder:

  • Es geht hier um eine runde Holzplatte. Diese ist immer gleich dick, aber mit verschiedenen Durchmessern erhältlich. Das Sortieren der «selbsterstellten Felder» geht wirklich nicht. Ich kann sie zwar Drag & Drop verschieben, aber nach dem Speichern wird wieder die vorherige Reihenfolge hergestellt. Ich behelfe mir mit

    1. Löschen der selbsterstellten Felder
    2. Hinzufügen in der richtigen Reihenfolge

    was aber auf Dauer etwas umständlich ist.

  • Das deutet darauf hin, dass sie so ausgelesen werden wie es der Reihenfolge in der DB entspricht.

    Dann scheint die Sortierung nicht gespeichert zu werden. Oder später nicht ausgelesen zu werden.


    Heute hab ich leider keine Zeit zu testen. Vielleicht hier noch ein paarmal aufwärmen, wenn sich nichts tut.


    Grüße

    Stefan

  • Ich habe folgenden Test durchgeführt:

    In der Datenbank-Tabelle: abcde_virtuemart_product_customfields im Feld «ordering» die vorhandene Zahl 0 geändert in 1 oder 2 usw. Dies hat die Reihenfolge beeinflusst.


    Meine Schlussfolgerung:

    Die Sortierung wird nicht gespeichert.
    Das spätere Ausgelesen funktioniert.

  • Ich bin derzeit auf VirtueMart 4.4.10 11120 und das Problem besteht noch immer. Um der Ursache etwas näherzukommen habe ich einen Test durchgeführt:


    In der Datenbank-Tabelle: abcde_virtuemart_product_customfields im Feld «ordering» die vorhandene Zahl 0 geändert in 1 oder 2 usw. Dies hat die Reihenfolge beeinflusst.


    Meine Schlussfolgerung:

    Die Sortierung wird nicht gespeichert.

    Das spätere Ausgelesen funktioniert.

  • Habs grad nochmal getested, funktioniert für mich. Da muß man mal tiefer graben.
    Welche PHP Version? Welches Joomla? Gibts in der Browserkonsole Fehler? Wird das standard backend template benutzt? Wird das neue VM template benutzt? Welche Art von Customfields werden benutzt?

  • Ich hab dasselbe Problem:

    Aktuell J4.4.13

    VM 4.4.6 11109 (LIVE)

    Neues Admin Backend Template

    PHP 8.1.32

    keine Fehler in der Browser Console


    Ich habe Text/String Custom Fields, keine Varianten, keine Vererbung.

    Position "ontop"


    Kunde gibt einfach nur Zusatzinformationen ein, aber bis zu 7 Felder. Manchmal kommt später was dazu, dann müsste er alle löschen und neu eingeben.

  • Tja ich fürchte das kann ich nur aufm Server vom Kunden fixen. eventuell geht ein Backup auch, aber ich fürchte, dann hat man das Problem nicht mehr. Haste das mal zuhause aufm Backup in einer anderen Server umgebung getested? z.B. php8.2

    Vielleicht liegts am Browser? Weil grundsätzlich ist das ja eine uralt Funktion, welche seit Jahren nicht wirklich angefasst wurde.

  • Welche PHP Version? PHP 8.3.21

    Welches Joomla? Joomla 5.3.1

    Gibts in der Browserkonsole Fehler? Nein.

    Wird das standard backend template benutzt? Ja

    Wird das neue VM template benutzt?

    Welche Art von Customfields werden benutzt? Keine

    Browser: Firefox, gleiches Verhalten mit Edge.

  • Servus,


    wir haben das letzte Woche auf Discord besprochen/getestet. Dorthin sind die VM-Chats gewandert, nachdem Skype sich verabschiedet hat.
    Das Problem wird in der nächsten Version gefixt.

    In der Datei /administrator/components/virtuemart/models/customfields.php kann man das selbst ändern. Ca. Zeile 1774:


    Vorher:

    Code
    1. if(!empty($customfield->ordering)){
    2. $html .= '<input class="ordering" type="hidden" value="'.$customfield->ordering.'" name="field[' . $i . '][ordering]" />';
    3. }


    Nachher:

    Code
    1. if(empty($customfield->ordering)){
    2. $customfield->orderding = 0;
    3. }
    4. $html .= '<input class="ordering" type="hidden" value="'.$customfield->ordering.'" name="field[' . $i . '][ordering]" />';

    Grüße

    Stefan