MyBB.de Forum

Normale Version: [MyBB1.2.9.]Profil-Felder im postbit_author_user
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Servus Allemiteinand !

Nach dem einige User in meinem Forum vorgeschlagen haben, ich möge doch bitte die Adresse der Neuanmeldungen als Plichtfeld einführen, habe ich das auch getan und lasse jetzt diese Adresse im postbit_autor_user ausgeben.

Das funktioniert sehr gut.

Jetzt habe ich aber schon einige Mitglieder die dieses Feld nicht ausgefüllt haben oder nicht ausfüllen wollen.

Wie auch immer; im postbit_autor_user steht dann bei der Adressensausgabe nur "Adr:" und sonst nichts.
Bei der Geburtstagsanzeige die ebenfalls ausgegeben wird, erscheint bei nichtangabe "Geburtstag: Nicht angegeben"
Diese Funktion hätte ich gerne auch bei der Adresse. Ich habe das schon einiges gelesen und herumgeschraubt , leider ohne Erfolg.

Hat einer von euch eine Idee wie ich das am besten bewerkstelligen kann ?

Danke schon mal für eure Antworten.

L.G.

Walter
Das wird ohne Codeänderungen nicht möglich sein, außer du setzt einfach in der Datenbank die Adresse derjenigen, die die Adresse nicht angegeben haben auf "Nicht Angegeben".
Du hast für die Adresse sicher ein eigenes Profilfeld in der Form von "$post['fidX']", oder?

Du könntest es mal so versuchen:

In der inc/functions_post.php folgende Zeile suchen
PHP-Code:
eval("\$post['user_details'] = \"".$templates->get("postbit_author_user")."\";"); 
Davor setzt Du eine Abfrage ein, ob das Profilfeld ausgefüllt ist.
PHP-Code:
if ($post['fidX'] !=0)
{
    
$post['fidX'] = htmlspecialchars_uni($post['fidX']);
}
else
{
    
$post['fidX'] = "Nicht angegeben"

Danke Jockl für deine Angebotene Hilfe !!


(22.02.2009, 22:40)Jockl schrieb: [ -> ]Du hast für die Adresse sicher ein eigenes Profilfeld in der Form von "$post['fidX']", oder?

Ja dieses Profilfeld habe ich angelegt und seitdem tragen die User auch ihre Adresse ein.
Diese Adresse lasse ich im Template durch " Adr.:{$post[fid1]} " ausgeben.

Das funktioniert ja gut.

Jetzt habe ich deinen Code eingefügt und alle X im [fid] durch eine 1 ersetzt.

Es fand eine Änderung statt nur leider nicht die gewünschte. Ich habe jetzt bei allen Usern, auch bei jenen die schon eine Adresse angegeben haben, bei der Adresse " Nicht Angegeben " stehen.

Vielleicht bedarf es nur mehr einer kleinen Änderung und schon sind wir am Ziel.

Fällt dir noch was ein ??

Danke jedenfalls für deine Mitarbeit.

L.G.

Walter
Ersetze
PHP-Code:
if ($post['fidX'] !=0
durch
PHP-Code:
if (trim($post['fidX']) != ""
Dann probiers mal damit:
PHP-Code:
if ($post['fidX']) {
    
$post['fidX'] = htmlspecialchars_uni($post['fidX']);
}
else {
    
$post['fidX'] = "Nicht angegeben"


Ansonsten wie gesagt einfach in der Datenbank ersetzen, du hast ja gesagt es kommen eh keine neuen "Nicht Angegeben" mehr dazu...

EDIT: Hoppla, da warn wir wohl gleichzeitig dran Michael
Hallo Michael

Das wars -- die Lösung ist perfekt !!

Sicherheitshalber nochmals der gesamte Code für jene die das auch für sich machen wollen, wobei das X durch die ID im vorhandenen Profilfeld ersetzt werden muss.

Zitat:In der inc/functions_post.php folgende Zeile suchen
PHP-Code:
eval("\$post['user_details'] = \"".$templates->get("postbit_author_user")."\";"); 
Davor setzt Du eine Abfrage ein, ob das Profilfeld ausgefüllt ist.
PHP-Code:
if (trim($post['fidX']) != ""
{
    
$post['fidX'] = htmlspecialchars_uni($post['fidX']);
}
else
{
    
$post['fidX'] = "Nicht angegeben"


Danke euch allen noch vielmals für die Mitarbeit !!

Liebe Grüße
aus Wien