Profilfeld als Switch benutzen?

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
AttilaG
Mitglied
Beiträge: 119
Registriert: 06.09.2007 16:20
Kontaktdaten:

Profilfeld als Switch benutzen?

Beitrag von AttilaG »

Hallo

Ich habe auf der Indexseite die Ajax Shoutbox eingebaut. Nun gibt es Leute, die eine Shoutbox cool finden und andere die sich nur nerven. Ich möchte darum jedem Benutzer die Möglichkeit geben, die Shoutbox über ein Feld im persönlichen Profil ein- und auszublenden (Switch).

Das entsprechende boolsche Feld habe ich im Profil bereits eingebaut. Leider bringe ich es aber nicht fertig den Wert so auszulesen, dass ich ihn im index_body.html verwenden kann. Wie komme ich an den Feldinhalt um eine IF-Abfrage machen zu können und mit "<!-- IF xxxx = 1-->" den Shoutbox-Include zu switchen???

Danke
-- Attila
AttilaG
Mitglied
Beiträge: 119
Registriert: 06.09.2007 16:20
Kontaktdaten:

Lösung

Beitrag von AttilaG »

Ok, ich habe nach vielen Stunden es nun doch noch geschafft. Allerdings musste ich einen kleinen Umweg einlegen, in dem ich eine direkte SQL Abfrage eingebaut habe.

Die Lösung sieht so aus:

Auf der index.php Seite mache ich folgende SQL Abfrage:

Code: Alles auswählen

// Shoutbox ein/aus abfragen 
$shoutbox_status = ''; 
$sql = "SELECT pf_shoutbox FROM phpbb_profile_fields_data WHERE user_id = " . $user->data['user_id']; 
$result = $db->sql_query($sql); 
while ($row = $db->sql_fetchrow($result)) 
   { 
      $shoutbox_status = $row['pf_shoutbox']; 
   } 
$db->sql_freeresult($result); 
"pf_shoutbox" ist bei mir der Name des Custom Profile Feldes.
In der Variabel $shoutbox_status steht bei mir der Wert 1 (oder leer) oder 2.

Danach übergebe ich die Variabel $shoutbox_status:

Code: Alles auswählen

$template->assign_vars(array(
	'SHOUTBOX_STATUS'	=> $shoutbox_status,
...
Welche ich dann auf der Seite index_body.html als Switch benutze mit:

Code: Alles auswählen

<!-- IF SHOUTBOX_STATUS != 2 -->
	<!-- INCLUDE shout_body.html -->
<!-- ENDIF -->
"2" bedeutet Shoutbox ausblenden. Wenn der Wert 1 oder leer ist, wird die Shoutbox angezeigt.

Ich hoffe, dass diese Lösung anderen auch behilflich ist bei ähnlichen Problemen.

-- Attila
Antworten

Zurück zu „[3.0.x] Mod Support“