So, Freunde der guten Musik oder so. oO
Ich führe mein Beispiel, jetzt fort, jetzt geht's an die "Wurst" :D
In der Fortsetzung, dessen (meiner Meinung nach interessanten) hier entstanden Codeschnipsel (oder Tutorial für Fortgeschrittenen) erweitere ich nun endlich die Suche im ACP.
Zurück blickend, wissen jetzt aufmerksame Leser, das ich in der Datenbank pk__userfields die Spalte field_10 habe, in dem bei mir die Postleitzahlen drin stehen. Natürlich ist das ein Praxisbeispiel, welches hier weiterhin verwenden werde.
Nehmen wir uns als erstes mal, das Template vor, auch wenn man noch gar nicht genau weiß was man macht.
Sucht in der pkinc/admintpl/member.htm nach:
und
ÄNDERN dies in:
|
HTML - Code Anfang: (5 Zeilen) | Code markieren
|
|
<!-- Weitere Felder in der Userübersicht by Muetze | Blutrausch-Gilde.com 4 BurnerFM.de | START -->
<option value="all" $selectall>Alle $lang[show]</option>
<option value="id" $select3>Benutzer-ID</option>
<option value="field_10" $field_10>PLZ</option>
<!-- Weitere Felder in der Userübersicht by Muetze | Blutrausch-Gilde.com 4 BurnerFM.de | START -->
|
|
|
|
|
HTML - Code Ende: (5 Zeilen) | Code markieren
|
Wenn Ihr ein wachsames Auge besitzt, findet Ihr jetzt schon das besagte
field_10 (
2 mal) und meine interne Bezeichnung (PLZ) wieder, was für Euch interessant ist, weil diese Angaben müsst Ihr ja Eurer Datenbank entsprechend anpassen oder auch erweitern.
Klapptext Inhalt anzeigenZum erweitern dupliziert Ihr Euch einfach die Zeile, mit der entsprechenden field_XX Nummer.
Kommen wir nun zu den schwierigen Teil..... durch atmen und aufpassen. ;P
Wir suchen in der pkinc/admin/userslist.php nach:
|
PHP - Code Anfang: (8 Zeilen) | Code markieren
|
|
if(($_REQUEST['soption']=='' || $_REQUEST['soption']=='usernick' || $_REQUEST['soption']=='all') && !empty($svalue))
{
$searchstr=" WHERE u.user_nick LIKE '%".$SQL->f($svalue)."%' OR
u.user_name LIKE '%".$SQL->f($svalue)."%' OR
u.user_email LIKE '%".$SQL->f($svalue)."%'";
$select0=' selected="selected"';
}
|
|
|
|
|
PHP - Code Ende: (8 Zeilen) | Code markieren
|
und
ERSETZEN es mit:
|
PHP - Code Anfang: (25 Zeilen) | Code markieren
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
// Weitere Felder in der Userübersicht by Muetze | Blutrausch-Gilde.com 4 BurnerFM.de | START
if(($_REQUEST['soption']=='' || $_REQUEST['soption']=='all') && !empty($svalue))
{
if($svalue > 0)
{
$searchstr=" WHERE u.user_nick LIKE '%".$SQL->f($svalue)."%' OR
u.user_name LIKE '%".$SQL->f($svalue)."%' OR
u.user_id LIKE '%".$SQL->i($svalue)."%' OR
f.field_10 LIKE '%".$SQL->f($svalue)."%' OR
u.user_email LIKE '%".$SQL->f($svalue)."%'";
} else {
$searchstr=" WHERE u.user_nick LIKE '%".$SQL->f($svalue)."%' OR
u.user_name LIKE '%".$SQL->f($svalue)."%' OR
f.field_10 LIKE '%".$SQL->f($svalue)."%' OR
u.user_email LIKE '%".$SQL->f($svalue)."%'";
}
$selectall=' selected="selected"';
}
elseif($_REQUEST['soption']=='field_10' && !empty($svalue))
{
$searchstr=" WHERE f.field_10 LIKE '%".$SQL->f($svalue)."%'";
$field_10=' selected="selected"';
}
// Weitere Felder in der Userübersicht by Muetze | Blutrausch-Gilde.com 4 BurnerFM.de | ENDE
|
|
|
|
|
PHP - Code Ende: (25 Zeilen) | Code markieren
|
So versuche ich mal das erste
if { ... } (vor dem
elseif) zu erklären: Ihr sieht hier schon (
2 mal) folgende Zeile:
Diese müsst Ihr Eurer Datenbank entsprechend anpassen.
Klapptext Inhalt anzeigenZum erweitern dupliziert Ihr Euch einfach die Zeile, mit der entsprechenden field_XX Nummer.
Das nächste in dieser Stelle ist:
|
PHP - Code Anfang: (5 Zeilen) | Code markieren
|
|
elseif($_REQUEST['soption']=='field_10' && !empty($svalue))
{
$searchstr=" WHERE f.field_10 LIKE '%".$SQL->f($svalue)."%'";
$field_10=' selected="selected"';
}
|
|
|
|
|
PHP - Code Ende: (5 Zeilen) | Code markieren
|
Das ist natürlich wieder mit meinem geliebten field_10.
Klapptext Inhalt anzeigenDas ist ein
Beispiel, wie es mit field_10 und field_11 aussehen müsste:
|
PHP - Code Anfang: (10 Zeilen) | Code markieren
|
|
elseif($_REQUEST['soption']=='field_10' && !empty($svalue))
{
$searchstr=" WHERE f.field_10 LIKE '%".$SQL->f($svalue)."%'";
$field_10=' selected="selected"';
}
elseif($_REQUEST['soption']=='field_11' && !empty($svalue))
{
$searchstr=" WHERE f.field_11 LIKE '%".$SQL->f($svalue)."%'";
$field_11=' selected="selected"';
}
|
|
|
|
|
PHP - Code Ende: (10 Zeilen) | Code markieren
|
Keine Angst, jetzt könnt Euch bei diesem Schritt entspannen, jetzt heißt es nur machen, was hier steht. :)
Sucht weiter nach (falls Kopf leer: Wir sind noch in der pkinc/admin/userslist.php):
|
PHP - Code Anfang: (1 Zeile) | Code markieren
|
|
LEFT JOIN ".pkSQLTAB_USER_GROUP." AS g ON(u.user_groupid=g.usergroup_id)
|
|
|
|
|
PHP - Code Ende: (1 Zeile) | Code markieren
|
und fügt unter dieser Zeile diese hinzu:
So. Mein Schlusswort... ich habe dies eben Live bei mir so eingebaut wie hier beschrieben und muss sagen, das es ein sehr guter Vorschlag war vom Peter und mir diese Erweiterung gut gefällt und ich auch ziemlich nützlich finde.
Wer jetzt sagt: "Aber PLZ ist doch eine Zahl, warum nicht intval, bzw $SQL->i?"... ich wollte diese Anleitung nicht noch aufwendiger machen & die field_xx sind eh Varchar, also braucht man diesmal nicht unbedingt drauf achten.
So, ist diesmal nicht ganz so leicht, sein PHPKIT zu erweitern, aber ich hoffe Ihr habt dennoch viel Spaß mit dieser Erweiterung.
Das verlinkte Bild images/forumstatus/thumb_up.png existiert nicht mehr bzw. wurde falsch verlinkt!
Das verlinkte Bild http://www.blutrausch-gilde.com/images/gens/1.png existiert nicht mehr bzw. wurde falsch verlinkt!
MfG
Mütze
Die Betreiber und die Moderatoren dieser Community distanzieren sich hiermit ausdrücklich von dem oben genannten Autor am 23.08.2010 - 14:59 Uhr verfassten Beitrag. Sollte dieser Beitrag Ihre Rechte verletzen bitten wir um Benachrichtigung.