» Texte » FAQs » 1.1 » Modifizierungen » Profilfeld in Userliste anzeigen/einfügen

zuletzt geändert von Mairu am 01.03.2009    ändern

Profilfeld in Userliste anzeigen/einfügen

Um solche Variablen anzulegen, die man dann im Template mit {xxx} einfügen kann, was ja nicht so schwer sein sollte (wird hier also nicht beschrieben) muss man halt die contents/user/memb_list.php etwas erweitern.

Zuerstmal muss man die ID des bzw. der Felder herausfinden, die man hinzufügen will, dazu mit phpmyadmin die Tabelle xic_profilefields öffnen und sich die IDs merken.
Nun muss die SQL Abfrage geändert werden, die sieht vorher so aus Code: Zeilennummern entfernen
  1. $erg = db_query("SELECT
  2.   posts,
  3.   xic_user.id,
  4.   xic_grundrechte.name as recht_name,
  5.   regist,
  6.   xic_user.name
  7. FROM xic_user
  8.  LEFT JOIN xic_grundrechte ON xic_user.recht = xic_grundrechte.id
  9.  $sql_search
  10. ORDER by recht,xic_user.posts DESC LIMIT ".$anfang.",".$limit);


und muss in etwas so geändert werden, wobei natürlich auch die richtige ID (also die Zahl, anstatt von ID bzw ID2) verwendet werden muss.

Code: Zeilennummern entfernen
  1. $erg = db_query("SELECT
  2.   posts,
  3.   xic_user.id,
  4.   xic_grundrechte.name as recht_name,
  5.   regist,
  6.   xic_user.name,
  7.   uf1.val AS feld1,
  8.   uf2.val AS feld2
  9. FROM xic_user
  10.  LEFT JOIN xic_grundrechte ON xic_user.recht = xic_grundrechte.id
  11.  LEFT JOIN xic_userfields uf1 ON xic_user.id = uf1.uid AND uf1.fid = ID
  12.  LEFT JOIN xic_userfields uf2 ON xic_user.id = uf2.uid AND uf2.fid = ID2
  13.  $sql_search
  14. ORDER by recht,xic_user.posts DESC LIMIT ".$anfang.",".$limit);


Hab hier im Beispiel 2 Felder hinzugefügt, um es mal ungefähr zu zeigen. Damit gibts halt jetzt zusätzlich noch feld1 bzw. feld2 die natürlich frei gewählt werden können.
Damit diese nun auch noch im Template erkannt werden, müssen sie noch übergeben werden, dazu Code: Zeilennummern entfernen
  1. $ar = array ( 'NAME' => $row->name,
  2.                     'RANG' => userrang($row->posts,$row->id),
  3.                                     'CLASS' => $class,
  4.                                     'POSTS' => $row->posts,
  5.                                     'UID'   => $row->id,
  6.                                     'DATE' => date('d.m.Y',$row->regist),
  7.                                     'GRUPE' => $row->recht_name
  8.     );
ungefähr so abändern Code: Zeilennummern entfernen
  1. $ar = array ( 'NAME' => $row->name,
  2.                     'RANG' => userrang($row->posts,$row->id),
  3.                                     'CLASS' => $class,
  4.                                     'POSTS' => $row->posts,
  5.                                     'UID'   => $row->id,
  6.                                     'DATE' => date('d.m.Y',$row->regist),
  7.                                     'GRUPE' => $row->recht_name,
  8.                                     'FELD1' => $row->feld1,
  9.                                     'FELD2' => $row->feld2
  10.     );
natürlich können treffendere Namen gewählt werden. Dann können {FELD1} und {FELD2} im Template genutzt werden.

-----
Eingetragen von Mairu