Willkommen Gast. Bitte anmelden oder registrieren.

Autor Thema: Joomla-Fields - Liste unsortiert lassen  (Gelesen 2396 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

gelöschter Nutzer (03/14)

  • Gast
Joomla-Fields - Liste unsortiert lassen
« am: 18. Februar 2014, 13:10:43 »
Hallo zusammen,

ich habe aktuell ein kleines Problem: Werden Werte aus einer Liste im Backend ausgewählt, so werden diese stets nach dem Speichern sortiert.
Dies soll aber gar nicht der Fall sein. Die Liste soll möglichst unsortiert gespeichert werden.


In meinem Screenshot seht ihr die Liste nach dem Speichern. Vor dem Speichern war die Reihenfolge jedoch "Option 2", "Option 1".


Kann man dieses Sortieren in irgendeiner Form verhindern?



zero24

  • Bestätigter Nutzer
  • Beiträge: 90
    • Meine Webseite
Antw: Joomla-Fields - Liste unsortiert lassen
« Antwort #1 am: 18. Februar 2014, 15:00:57 »
Was hast du in der XML Datei unter administrator/com_example/models/forms/example.xml als typ angegeben?
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, daß er genug davon habe. (Rene Descartes, fr. Mathematiker u. Philosoph, 1596 - 1650)

gelöschter Nutzer (03/14)

  • Gast
Antw: Joomla-Fields - Liste unsortiert lassen
« Antwort #2 am: 18. Februar 2014, 15:12:29 »
Einmal groupedlist und einmal list.
In beiden Fällen mit multiple=true

zero24

  • Bestätigter Nutzer
  • Beiträge: 90
    • Meine Webseite
Antw: Joomla-Fields - Liste unsortiert lassen
« Antwort #3 am: 18. Februar 2014, 16:38:42 »
hmm weder groupedlist:
http://docs.joomla.org/Groupedlist_form_field_type

noch list:
http://docs.joomla.org/List_form_field_type

haben eine Option für die Sortierung.

Unterstützt werden nur folgende:
• type (mandatory)
• name (mandatory)
• label (mandatory) (translatable)
• default (optional)
• description (optional)
• class (optional)
• multiple (optional)

Ich habe aber auch noch nicht herraus gefunden wo, wie und wohin Joomla die Daten in die Datenbank schreibt oder wie es die Daten da wieder raus holt.
Gespeichert werden die Eingaben aber anscheinend wie du sie das erstemal eingibst (probier es z.B. mal mit zwei neuen Werten) und dann immer in dieser Reihenfolge egal wie du sie später eingibst.
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, daß er genug davon habe. (Rene Descartes, fr. Mathematiker u. Philosoph, 1596 - 1650)

Firstlady

  • Pink Berserk (Mod)
  • Beiträge: 190
    • www.chmst.de
Antw: Joomla-Fields - Liste unsortiert lassen
« Antwort #4 am: 19. Februar 2014, 09:08:17 »
Zitat
Die Liste soll möglichst unsortiert gespeichert werden.
Das verstehe ich nicht ganz. Wenn sie unsortiert sein soll, ist es doch egal ab die Werte so oder so gezeigt werden?
Gelesen werden die Optionen je nachdem, wie das jeweilige <field> Feld die Daten aus der Datenbank ausliest. Standard ist ja meist "asc" - aber ich bin nicht sicher, ob das überhaupt die Frage ist.
« Letzte Änderung: 19. Februar 2014, 11:18:48 von Firstlady »
Grüße, Christiane

gelöschter Nutzer (03/14)

  • Gast
Antw: Joomla-Fields - Liste unsortiert lassen
« Antwort #5 am: 19. Februar 2014, 12:04:47 »
Hallo,

vielen Dank für eure Antworten :-)


Also, das Problem ist, dass die List die eingegebenen Werte nicht in der Reihenfolge der Eingabe speichert, sondern scheinbar alphabetisch.


Also:


Mögliche Werte sind:

A
B
C
D


Eingabe ist:

D
A
B
C



Gespeichert werden die Parameter allerdings in der Reihenfolge A,B,C,D, was nicht der Fall sein sollte :-(.


Ziel der Aktion:

Im Frontend sollen die Elemente in der eigentlich gespeicherten Reihenfolge dargestellt werden.

zero24

  • Bestätigter Nutzer
  • Beiträge: 90
    • Meine Webseite
Antw: Joomla-Fields - Liste unsortiert lassen
« Antwort #6 am: 19. Februar 2014, 13:03:29 »
Zitat
Ziel der Aktion:

Im Frontend sollen die Elemente in der eigentlich gespeicherten Reihenfolge dargestellt werden.

Idee:
Jede Option = 1 Feld (filter=integer)

Im FE werden die Felder in der Reihenfolge ausgegeben die im Feld steht.

Backend
Option1 = 2
Option2 = 1

Frontend Ausgabe:
Option2
Option1

Villeicht dann etwas mit asort:
Dabei entspricht die ID (Key im Array) den Werten von der Eingabe (also 1,2,5, ... danach wird sortiert) und der Wert der Option (z.B. Option1, Option2)

Also z.B. so:
Array
(
    [0] => Option0
    [1] => Option1
    [5] => Option2
    [3] => Option3
)

sortiert dann (vertauscht werden 5 und 3):
Array
(
    [0] => Option0
    [1] => Option1
    [3] => Option3
    [5] => Option2
)

Nun ist es nach eingabe sortiert.

asort()
http://www.php.net/manual/de/function.asort.php

Eventuell auch hilfreich:
min()
http://www.php.net/manual/de/function.min.php
max()
http://www.php.net/manual/de/function.max.php
Mit Php die größte und kleinste Zahl eines Arrays auslesen:
http://codekicker.de/fragen/Mit-Php-die-groesste-und-kleinste-Zahl-eines-Arrays-auslesen/366

Oder ist das an dem vorbei was du erreichen willst?
« Letzte Änderung: 19. Februar 2014, 13:08:44 von zero24 »
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist überzeugt, daß er genug davon habe. (Rene Descartes, fr. Mathematiker u. Philosoph, 1596 - 1650)

gelöschter Nutzer (03/14)

  • Gast
Antw: Joomla-Fields - Liste unsortiert lassen
« Antwort #7 am: 21. Februar 2014, 10:37:35 »
Hallo und vielen Dank für Deine Antwort.
Ich werde Deine Ansätze einmal überdenken und gebe Bescheid, ob und wie sie funktioniert haben :)