Mitglieder: Suche nach Profilfeld - Druckversion +- MyBB.de Forum (https://www.mybb.de/forum) +-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html) +--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html) +--- Thema: Mitglieder: Suche nach Profilfeld (/thread-14513.html) |
Mitglieder: Suche nach Profilfeld - bigfraggle - 23.09.2009 Hallo, ist es irgendwie möglich, die Mitgliedersuche so zu erweitern, dass man auch nach einem bestimmten (eigenen) Profilfeld suchen kann? Gruß bigfraggle RE: Mitglieder: Suche nach Profilfeld - Jockl - 23.09.2009 Vielleicht hilft Dir das Thema hier weiter: https://www.mybb.de/forum/thread-10432.html RE: Mitglieder: Suche nach Profilfeld - bigfraggle - 24.09.2009 Hm, danke für den Link. Habe ich mir mal angeschaut... Leider finde ich dort keine Info, wie ich nach einem Profilfeld suchen bzw. sortieren kann. Zumindest nicht, was aktuellere Versionen angeht. RE: Mitglieder: Suche nach Profilfeld - linwinman - 24.09.2009 Nimm hierfür folgende Änderungen vor: 1. in Datei "memberlist.php" ersetze PHP-Code: case "postnum": PHP-Code: case "postnum": ersetze PHP-Code: $user['postnum'] = my_number_format($user['postnum']); PHP-Code: $user['postnum'] = my_number_format($user['postnum']); Hierbei muss "fidX" der Feld-ID des Profilfeldes "Name Profilfeld" (in Datenbank-Tabelle "mybb_userfields > fidX") entsprechen. 2. in "Admin-CP > dein Theme > Benutzerliste Templates": 2.1 in Template "memberlist" ersetze Code: <td class="thead" colspan="5"><strong>{$lang->member_list}</strong></td> Code: <td class="thead" colspan="6"><strong>{$lang->member_list}</strong></td> ersetze Code: <td class="tcat" width="10%" align="center"><span class="smalltext"><strong>{$lang->posts}</strong></span></td> Code: <td class="tcat" width="10%" align="center"><span class="smalltext"><strong>{$lang->posts}</strong></span></td> ersetze Code: <option value="postnum"{$sort_selected['postnum']}>{$lang->sort_by_posts}</option> Code: <option value="postnum"{$sort_selected['postnum']}>{$lang->sort_by_posts}</option> 2.2 in Template "memberlist_search" ersetze Code: <option value="postnum">{$lang->sort_by_posts}</option> Code: <option value="postnum">{$lang->sort_by_posts}</option> 2.3 in Template "memberlist_user" ersetze Code: <td class="{$alt_bg}" align="center">{$user['postnum']}</td> Code: <td class="{$alt_bg}" align="center">{$user['postnum']}</td> RE: Mitglieder: Suche nach Profilfeld - bigfraggle - 24.09.2009 Huh, danke für den Code. Ist ja ne ganze Menge. Teste das die Tage mal in Ruhe aus. Wollte nur schon einmal ein Feedback geben und danke sagen... RE: Mitglieder: Suche nach Profilfeld - bigfraggle - 25.09.2009 So, jetzt ein "richtiges" Danke! Funktioniert soweit... Zwei Fragen habe ich aber noch. 1. Ich möchte in der erweiterten Mitgliedersuche auch nach meinem Profilfeld 2 suchen. Ich dachte, folgender zusätzlicher Code in der memberlist.php würde helfen, hat er aber nicht... PHP-Code: // Profilfeld 2 contains Beim Suchen bekomme ich folgenden Fehler: Code: SQL Error: Ich verstehe soweit, dass er f.fid2 nicht erkennt. Dachte erst, ich könnte u.fid2 nehmen, geht aber (natürlich) auch nicht... Leider kenne ich mich mit PHP/SQL nicht so aus... 2. Kann ich in der Mitgliederübersicht das Suchen nach Website gegen ein Suchen nach Profilfeld 2 austauschen? Wenn 1) gelöst ist, müsste ich doch nur noch das Template anpassen, oder? RE: Mitglieder: Suche nach Profilfeld - Michael - 25.09.2009 Zu 1) Im Grunde musst du die oben angegebenen Schritte nochmal durchführen und jeweils die ID und den Namen des Profilfeldes anpassen. D.h. anstatt die Stellen zu ersetzen ergänzt du das neue Feld. Beispiel: PHP-Code: case "postnum": RE: Mitglieder: Suche nach Profilfeld - bigfraggle - 25.09.2009 Hm, ich glaube da hast du mich falsch verstanden... oder ich habe mich ungenau ausgedrückt. Um das Profilfeld 2 ging es bei mir ja schon die ganze Zeit. Mit den Codes von linwinman habe ich aber lediglich das Profilfeld in die Mitgliederübersicht integriert und deren Sortierung um das Profilfeld erweitert. Nun geht es mir darum, in der erweiterten Mitgliedersuche bzw. in der einfachen Mitgliedersuche auf der Mitgliederseite ein Suchfeld für Profilfeld 2 zu packen. RE: Mitglieder: Suche nach Profilfeld - Michael - 25.09.2009 Ah, jetzt hab ich das verstanden. Der Fehler wird in Zeile 184 hervorgerufen, wo die Benutzerdaten abgerufen werden. Dabei wird nur auf die Tabelle users zurückgegriffen, die natürlich nicht die eigenen Profilfelder beinhaltet. D.h. du musst die Datenbankabfrage umschreiben, um die Tabelle userfields ebenfalls abzufragen. Schau dir dazu mal die Zeilen 207-214 an. RE: Mitglieder: Suche nach Profilfeld - bigfraggle - 25.09.2009 Ok, ich kann das zumindest schon einmal nachvollziehen... ^^ Im für mich entscheidenden Teil wird nur die Tabelle users herangezogen, weswegen fid2 hier unbekannt ist. Klar. Demnach muss ich dieser hier... PHP-Code: $query = $db->simple_select("users u", "COUNT(*) AS users", "{$search_query}"); ...in sowas abändern. PHP-Code: $query = $db->query(" Leider lassen mich meine geringsten Kenntnisse hier etwas im Stich... Würde mich freuen, wenn jemand den Code posten könnte... Kann niemand helfen? |