Plugin Mitgliedsbeitrag - Mitgliedsnummern erzeugen

Hast du Probleme oder Fragen bei der Einrichtung bestimmter Plugins ? Diese kannst du hier loswerden.
Antworten
Benutzeravatar
rola
Beiträge: 32
Registriert: 20. Feb 2018, 16:01
Wohnort: Umkreis Karlsruhe

Plugin Mitgliedsbeitrag - Mitgliedsnummern erzeugen

Beitrag von rola »

Wir nähern uns immer mehr dem Zeitpunkt, wo wir unsere Access-Insellösung durch Admidio ersetzen können.
Allerdings gibt es hier und da noch so kleine Unschönheiten, die intern auf Kritik stoßen:
Um bei der Listenausgabe eine nach Mitgliedsnummern sortierte Liste zu erhalten, ist eine numerische Sortierung gegenüber einer Sortierung nach Zeichen sinnvoller, z.B. -> 2, 4, 5, 11, 203,.. statt 11, 2, 203, 4, 5,...
Hierzu ist das Profilfeld Mitgliedernummer (MEMBERNUMBER1, PMB_MEMBERNUMBER) als Zahl (NUMBER) zu deklarieren.
Soweit so gut, wenn aber zugleich die Formatierung der Mitgliedernummer auf z.B. "#####-0" festgelegt wird, dann wird zwar bei der Funktion "Mitgliedsnummer(n) erzeugen z.B. die Nummer "00204-0" erzeugt und angezeigt, aber das anschließende "Speichern" wird nicht ausgeführt und auch kein entsprechender Hinweis gegeben.
Wenn man das Profilfeld Mitgliedernummer jedoch als "Text(100 Zeichen)" deklariert, dann werden Mitgliedsnummern der Art "00204-0" erzeugt und auch abgespeichert. Allerdings erfolgt jetzt bei der Listenausgabe die Sortierung nach Zeichen -> 11, 2, 203, 204-0, 4, 5,..., was wiederum nicht schön ist.
Man kann sich natürlich wie folgt behelfen:
1. Datentyp des Feldes Mitgliedernummer auf "Text(100 Zeichen)" setzen
2. Mtgliedernumer mit Formatierung "#####-0" erzeugen
3. Datentyp des Feldes Mitgliedernummer wieder auf "Zahl" setzen
Das ist natürlich a) umständlich und b) fehleranfällig, daher meine Frage:
Kann man nicht nichtnumerische Mitgliedsnummern ("#####-0") in der Datenbank abspeichern, auch wenn der Feldtyp in Admidio als Zahl deklariert wurde? Zumal das Feld in dem das in der DB gespeichert wird (usd_value) eh ein Textfeld ist??
Oder gibt es eine andere Möglichkeit bzgl. der Sortierung in Listen?
Danke schon mal jetzt für die Unterstützung!
rmb
Plugin-Developer
Beiträge: 632
Registriert: 10. Mai 2011, 19:56
Wohnort: 86856

Re: Plugin Mitgliedsbeitrag - Mitgliedsnummern erzeugen

Beitrag von rmb »

Hallo rola,

warum verwendest Du Mitgliedsnummern mit unterschiedlicher Formatierung? (Also 11 und 203 und 00204-0)
Wenn alle gleich formatiert wären (also alle mit #####-0), hättest Du Deine Sortierung.

Sollten Nummern wie 11 und 203 noch aus einer alten Installation stammen (früher wurden Mitgliedsnummern als Zahl gespeichert), könnte man über ein kleines php-Script diese alten Zahlen einmalig in die aktuelle Formatierung übertragen.

Gruß
rmb
Benutzeravatar
rola
Beiträge: 32
Registriert: 20. Feb 2018, 16:01
Wohnort: Umkreis Karlsruhe

Re: Plugin Mitgliedsbeitrag - Mitgliedsnummern erzeugen

Beitrag von rola »

Hallo rmb,
vielen Dank für die schnelle Antwort mit dem Hinweis auf eine Lösung.
In der Tat stammen die unterschiedlichen Formatierungen aus alten Beständen. Ich werde sie beim Import entsprechend in das Format "#####-n" bringen und den Typ auf "Text(100 Zeichen)" setzen.
Grüße
Rolf
Antworten