If abfrage in ein Template

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

If abfrage in ein Template

Beitrag von pierre63 »

Hallo

Ich bastel gerade an eine Box die nicht immer angezeigt werden soll.

Ich aktiviere die Box im ACP, das funktioniert soweit alles
Es wird der wert 0 oder 1 gesetzt in die untengenannte Tabelle.

Danach habe ich in eine php folgende abfrage erstellt:

Code: Alles auswählen

// Afrage box an oder aus START	 
$sql = "SELECT * FROM phpbb_box_config WHERE config_name = 'boxan' ";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);

$template->assign_vars(array(
        'BOX_AN'    => $row['config_value'],

));	
Er listet jetzt auch auf ob der wert in die tabelle 0 oder 1 beträgt.

Dann habe ich ein template erstellt wo mein Entwurf drin ist
aber ich bekomme es nicht hin das er die Box nur anzeigen soll wenn der wert von $row['config_value'] eine 1 ist
und bei eine 0 nicht angezeigt wird.

Ist sowas realisierbar mittels abfrage im Template oder vielleicht hat jemanden eine bessere Idee

Schon mal dank in vorraus
HJW
Mitglied
Beiträge: 1298
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitrag von HJW »

Hallo,

sollte so funktionieren:

Code: Alles auswählen

<!-- IF BOX_AN -->

<!-- ENDIF -->
Wichtig ist , dass nur ein Blanc hinter „<!--“ bzw. vor „-->“ ist.
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

Re: If abfrage in ein Template

Beitrag von pierre63 »

Funktioniert leider nicht, in der DB steht 0
und er zeigt sie immer noch an
HJW
Mitglied
Beiträge: 1298
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitrag von HJW »

Was wird denn angezeigt, wenn du in deiner php-Datei nach $row = $db->sql_fetchrow($result);
mit print_r($row):
das erzeugte Array ausgeben lässt?

Ansonsten kannst du ja mal schauen, ob der Wert überhaupt übergeben wird.
Lass die Template-Variable doch mal so anzeigen {BOX_AN}.
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

Re: If abfrage in ein Template

Beitrag von pierre63 »

Er zeigt mir folgendes an:
Array ( [config_name] => boxan [config_value] => 0

wie mache ich das mit die Variable??
HJW
Mitglied
Beiträge: 1298
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitrag von HJW »

Einfach im Template die Variable in dieser Form einfügen: {BOX_AN}
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

Re: If abfrage in ein Template

Beitrag von pierre63 »

Habe sie oben im Template eingebaut
jetzt steht dort ne 0
HJW
Mitglied
Beiträge: 1298
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitrag von HJW »

Dann sollte das aber funktionieren.

Code: Alles auswählen

<!-- IF BOX_AN -->

<!-- ENDIF -->
Du hast das aber genauso eingegeben? Als alles in Großbuchstaben?

sonst schreib es mal so:

Code: Alles auswählen

<!-- IF BOX_AN != 0 -->

<!-- ENDIF -->
pierre63
Mitglied
Beiträge: 58
Registriert: 28.03.2018 07:41

Re: If abfrage in ein Template

Beitrag von pierre63 »

Habe es so gelöst:
<!-- IF BOX_AN == 1 -->
.....
<!-- ENDIF -->

Automatisch dem Beitrag hinzugefügt nach 30 Sekunden. Bitte Regel für „Topic-Bumping“ beachten. Danke.

Oh gleiche Zeitpunkt,sorry

Vielen dank für deine Hilfe 8) 8)
Benutzeravatar
Dr.Death
Moderator
Moderator
Beiträge: 17438
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: If abfrage in ein Template

Beitrag von Dr.Death »

Ich hätte die " if " Entscheidung schon im PHP Script eingebaut und das Template für sich gelassen ala:

Code: Alles auswählen

// Afrage box an oder aus START    
$sql = "SELECT * FROM phpbb_box_config WHERE config_name = 'boxan' ";
$result = $db->sql_query($sql);
$row = $db->sql_fetchrow($result);
$box_an = $row['config_value'];

if ($box_an == true)
{
    $template->assign_vars(array(
            'BOX_AN'    => true,
    )); 
}
Um im Template Teil nur noch:

Code: Alles auswählen

<!-- IF BOX_AN -->

<!-- ENDIF -->
Antworten

Zurück zu „Coding & Technik“