angezeigte Felder bei der Rollenbearbeitung

Alles, was nicht in die anderen Foren passt, kannst du hier loswerden.
Antworten
Friedel
Beiträge: 11
Registriert: 17. Apr 2011, 10:20

angezeigte Felder bei der Rollenbearbeitung

Beitrag von Friedel »

Hallo,

bisher vergeblich suche ich die Möglichkeit, bei der Rollenverwaltung ein weiteres Feld bei der Auswahl der zu einer Rolle zuzuordenden Mitglieder anzuzeigen.

Als Spaltenüberschrift werden die vorgegebenen Felder "Mitglied", "Nachname". "Vorname", "Adresse" (als Icon), "Geburtstag" und "Leiter" (als Checkbox) angezeigt:
Bild

Wir benötigen aber zur Identifizierung von Mitgliedern, die einer Rolle zuzuordnen sind, ein weiteres Feld.
In welcher Datei muß ich den Quellcode ändern, um dieses Feld hinzuzufügen?!?

Kann mir da jemand helfen?

Gruß,
Friedel
D347h
Beiträge: 30
Registriert: 15. Jun 2011, 18:34
Wohnort: Linz
Kontaktdaten:

Beitrag von D347h »

Moinsen :)

Bin zwar selbst noch nict so der Experte aber hab mal was gefunden:

Im File "members_get.php" (\adm_program\modules\lists) ist folgendes:
  • In den Zeilen 197 bis 214 wird mal der Kopf dieser Tabelle geschrieben.
  • In den Zeilen 292 bis 340 die Body-Zeile.
  • In den Zeilen 105 bis 149 SQL-Statement
Die ersten beiden Punkte sollten relativ einfach sein, beim letzten bin ich, auf die schnelle, leider auch etwas ueberfordert.
Einfach mal in ner Testversion probieren ;)

MfG
D347h

PS: ich habe in der Version 2.2.6 nachgesehen, Zeilen koenen also etwas abweichen. :)
Friedel
Beiträge: 11
Registriert: 17. Apr 2011, 10:20

Beitrag von Friedel »

Super!

Das hat genau gepaßt.
Nun haben wir (zumindest bis zum nächsten Update) genau die benötigten Felder.
(Die SQL-Abfrage läuft einfach analog zu den bestehenden.)

Vielen Dank,
Friedel
D347h
Beiträge: 30
Registriert: 15. Jun 2011, 18:34
Wohnort: Linz
Kontaktdaten:

Beitrag von D347h »

Moinsen :)

Gern geholfen =)

Und falls sich bei der naechsten Version was aendert, hier gleich mal wie ich darauf gekommen bin:

Als erstes mal die Seite aufrufen (war das Schwierigste, wusste noch garnich das es die gibt ^^), dadurch weiß man welches PHP-File die Seite ausgibt. ["members.php" (\adm_program\modules\lists)]
Dort gibt es die Zeile

Code: Alles auswählen

//Liste mit Namen zu abhaken
echo '<form id="memlist_form"></form>';
Daraus sieht man das der Inhalt per JavaScript eingefuegt wird, also nach der ID suchen, wodurch ich bei folgendem gelandet bin:

Code: Alles auswählen

//Bei Seitenaufruf Daten laden
        $.post("'.$g_root_path.'/adm_program/modules/lists/members_get.php?rol_id='.$role_id.'", $("#memserach_form").serialize(), function(result){
            $("form#memlist_form").append(result).show();
            $("#list_load_animation").hide();
            return false;
        });
Dadurch bin ich dann auf die Datei members_get.php gestoßen.
Der Rest ist dann eigentlich nur noch Formsache :)

MfG
D347h
Friedel
Beiträge: 11
Registriert: 17. Apr 2011, 10:20

Beitrag von Friedel »

Gut zu wissen.
Dann weiß ich wenigstens, wo ich beim nächsten Mal nachschauen muss.
(Habe mir sicherheitshalber aber auch die geänderte members_get.php lokal mit Änderungshinweisen gesichert.)

Nochmals Danke,
Friedel
D347h
Beiträge: 30
Registriert: 15. Jun 2011, 18:34
Wohnort: Linz
Kontaktdaten:

Beitrag von D347h »

Moinsen :)

Bitte gerne =)

Was ich noch vergessen habe:
Welche SQL-Abfrage hast du denn eingebaut?
(Blick da an dieser Stelle irgendwie noch nicht so durch ^^)

MFG
D347h
Friedel
Beiträge: 11
Registriert: 17. Apr 2011, 10:20

Beitrag von Friedel »

Der SQL-Abfrage ab Zeile 105 habe ich einfach unser benötigtes Feld hinzugefügt, also

Code: Alles auswählen

$sql = 'SELECT DISTINCT usr_id, last_name.usd_value as last_name, first_name.usd_value as first_name, birthday.usd_value as birthday, city.usd_value as city, address.usd_value as address, zip_code.usd_value as zip_code, country.usd_value as country, mem_usr_id as member_this_role, mem_leader as leader_this_role,

(SELECT count(*)
...
einfach um

Code: Alles auswählen

neues_feld.usd_value as neues_feld,
ergänzt, so dass es nun so aussieht:

Code: Alles auswählen

$sql = 'SELECT DISTINCT usr_id, last_name.usd_value as last_name, first_name.usd_value as first_name, birthday.usd_value as birthday, 

neues_feld.usd_value as neues_feld,

city.usd_value as city, address.usd_value as address, zip_code.usd_value as zip_code, country.usd_value as country, mem_usr_id as member_this_role, mem_leader as leader_this_role,

(SELECT count(*) 
...
Und schwupps, steht das benötigte Feld zur Verfügung. Das Feld "neues_feld" hatte ich natürlich vorher in der Profilfeldpflege angelegt.

Die Überschrift habe ich in den Zeilen ab Zeile 197 "hard-kodiert" eingefügt, da ich zu faul war, eine Systemvariable in der Sprachendatei anzulegen (und bei einem Update zu pflegen).

In den Body-Zeilen (ab etwa 292) habe ich dann die Spalte zur Anzeige des - von uns nicht benötigten - Geburtstages durch die Anzeige unseres benötigten Feldes ersetzt.

Und schon paßt's.

Gruß,
Friedel
D347h
Beiträge: 30
Registriert: 15. Jun 2011, 18:34
Wohnort: Linz
Kontaktdaten:

Beitrag von D347h »

Moinsen ;)

Besten Dank fuer die Info, jetzt bin ich da zumindest schon n bisschen weiter mim SQL-Verstaendtniss :D

MfG
D347h
Antworten