Admidio mit zusätzlichen Profilen erweitern

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
Guido
Beiträge: 3
Registriert: 9. Aug 2011, 13:38

Admidio mit zusätzlichen Profilen erweitern

Beitrag von Guido »

Hallo Zusammen,

auf der Suche nach einem Usermanagement System, welches auf php und mySQL aufbaut, bin ich über Admidio gestolpert. Diese Verwaltung ist echt klasse und bietet bereits sehr viele Möglichkeiten.
Bis dato habe ich noch ein privates Projekt auf Basis von FaPass laufen. Da dieses aber seit Ewigkeiten nicht weiterentwickelt wird und auch globals nutzt, muss ich langsam auf ein aktuelles System umstellen. Meine Programmierkenntnisse sind eher rudimentär, aber ich bin lernfähig ;-) .
In dem alten System verwalte ich verschiedenen Spielerdaten und habe dies so realisiert, dass ich einem Benutzer mehrere Profile eingerichtet habe (war auch ein ziemlicher Programmieraufwand).
Ähnliches möchte ich mit Admidio jetzt auch machen.
Das Erweitern um entsprechende Benutzerfelder ist ja sehr einfach und auch in phpMyAdmin konnte ich auch schnell zusätzliche Felder generieren, die im Admin-Interface dann auch funktionieren und modifiziert werden können.
Ich habe nun für jedes Profil eine eigene Kategorie angelegt und in diese einige Profilfelder eingefügt.
Um die Daten zu separieren habe ich zusätzliche "statische" Profilmodule angelegt (neue Verzeichnisse im adm_program\modules & anpassen der Theme), die ich schon mal so modifizieren konnte, dass jedes Profil / jede Kategorie ein eigenes Bild bekommen kann und in jeder Profilseite auch nur die zu dieser Kategorie gehörenden Daten angezeigt werden (anpassen von profile.php; profile_photo_edit.php; profile_photo_show.php).

Jetzt kommt das Problem:

Wenn ich das Profil bearbeiten möchte, kann ich standardmäßig immer nur alle Datenfelder bearbeiten.
Ich habe nun schon die profile_new.php zu jedem Profil etwas modifiziert, so dass man auch nur die Felder der entsprechenden Kategorie angezeigt bekommt. Wenn ich allerdings auf speichern gehe, verlangt er immer, dass die required Felder ausgefüllt sein müssen (die zum normalen Profil gehören). Dieses Problem habe ich unter anderem, weil die Form durch den submit immer auf das Standardprofilverzeichnis verweist (ich gehe davon aus, dass dies aus dem profile_new.php kommt
<div class="formLayout" id="edit_profile_form">
Oder sehe ich das Falsch?

Denn obwohl ich die formaction umgebogen habe
<form action="'.$g_root_path.'/adm_program/modules/profile_C1/profile_save.php?user_id='.$usr_id.'&new_user='.$new_user.'" method="post">
verweist der „Speichern“ Button doch immer auf die profile_save.php im normalen Profilverzeichnis
/adm_program/modules/profile/profile_save.php

und springt auch dort hin.

Kann ich die Übergabe der Form so ändern, dass jede Profilseite eine eigene Form zugewiesen bekommt und nicht immer alle Felder geprüft werden (sondern nur die dieser Kategorie)?
Vielleicht lässt es sich auch schon durch den Aufruf des jeweilig modifizierten „profile_save.php“ realisieren (was ich aber derzeit nicht hinbekomme).

Ich habe diesbezüglich auch schon mal im Forum gesucht und habe nicht viel gefunden. Wahrscheinlich werden so umfassende Modifikationen selten gemacht.

Ansonsten will auch ich an ner Dropdown-Liste und an einem dynamischen Profil zur Feldeingabe arbeiten, was ein wenig (mehr) Programmieraufwand ist (z.B.: habe ich in im alten System eine Abfrage drin, bei der man angeben kann, wie viele von 100 Profilfeldern man angezeigt bekommen möchte).

Ich wäre echt froh, wenn mir jemand bei dem „Multi-Profil Problem“ ein wenig helfen könnte.

Danke und viele Grüße,
Guido
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Guido,

der Speicherbutton wird als type="submit" definiert und zeigt damit auf die in der form unter action hinterlegte URL. Ich habe es bei meiner Installation grad nochmal ausprobiert, klappt ohne weiteres. Da musst Du nochmal bei Deiner Änderung schauen, was da schiefläuft. Schau Dir mal den Quelltest an, wenn Du die geänderte Datei aufgerufen hast.

Was Deine weiteren Modifikationen angeht: Ein Dropdwonfeld haben wir selbst bereits eingebaut, wird in einer der neueren Versionen dann ebenfalls verfügbar sein.

Gruss,
Matze
Guido
Beiträge: 3
Registriert: 9. Aug 2011, 13:38

Beitrag von Guido »

Guten Morgen Matze,

Danke für die schnelle Antwort!

Dann warte ich mal auf das Update anstatt eigene Dropdown Felder zu programmieren. :D

Das mit der form action habe ich im Quelltext gesehen. War gestern nur zu verpeilt die action im profile_new.php zu suchen, sondern habe, warum auch immer, im profile.php rumgestochert.

Vielleicht komme ich dann ja einen Schritt weiter.

Ein dickes Lob auch für die Mehrsprachigkeit und die einfache Integration in Tabellenform. Schreibe einfach immer brav die neuen Texte da rein und vergebe TAGs, die ich im Programm aufrufe. Wenn man sich da einmal einarbeitet, kommt man auch da hinter, wie das programmiert ist. :wink:

Wenn ich erfolgreich war, werde ich mich mal rückmelden, falls jemand etwas ähnliches vor hat.

Btw. macht ihr auch ein Textfeld mit mehr als 255 Zeichen als Datentyp?

Grüße,
Guido
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Das grössere Textfeld ist bislang nicht vorgesehen, ich habe das aber selbst schon mit ein paar Änderungen in einigen meiner Installationen geändert. Dazu ist einfach ein neuer Datentyp in Admidio zu definieren, mit Angabe der Textfeldlänge und in der Datenbank muss (und das ist viel wichtiger) das usd_value Feld in der adm_user_data auf die max. Anzahl der Zeichen erweitert werden.
Guido
Beiträge: 3
Registriert: 9. Aug 2011, 13:38

Beitrag von Guido »

Ich hatte die Programmierung schon um eine TEXT_LONG (10000 Zeichen) erweitert. Nur den Eintrag in der Datenbank noch nicht gemacht. Danke noch mal für den Hinweis. Hätte sonst vermutlich noch mal suchen müssen.

Die zusätzlichen Profile scheinen bestens zu laufen. Zumindest eins habe ich bereits fast komplett.
Bin gerade dabei noch ein paar zusätzliche Radio Buttons bei bestimmten Feldern ein zu fügen. Aber anhand des "Beispiels" des 'GENDER' ist das ja auch kein Problem :) .

Muss dann nur irgendwann den nicht benutzten Code löschen und nicht nur auskommentieren :roll: .

Wie gesagt: Ein Klasse Skript was schon fast alles kann, was ich brauche.

Vielen Dank :!:
Siekermann
Beiträge: 34
Registriert: 27. Jul 2011, 22:39

Re: Admidio mit zusätzlichen Profilen erweitern

Beitrag von Siekermann »

Hallo Guido,

wie kann man einen neuen Datentyp auch in der der Dropdownliste anzeigen lassen, neben Text (50) und Text (255) und dieses Feld dann auch zuordnen?
Die Änderungen in der Datenbank habe ich schon gemacht.


Mit freundlichen Grüßen

Jörg Siekermann
Antworten