Seite 1 von 2

If abfrage in ein Template

Verfasst: 29.07.2018 12:38
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

Re: If abfrage in ein Template

Verfasst: 29.07.2018 14:02
von HJW
Hallo,

sollte so funktionieren:

Code: Alles auswählen

<!-- IF BOX_AN -->

<!-- ENDIF -->
Wichtig ist , dass nur ein Blanc hinter „<!--“ bzw. vor „-->“ ist.

Re: If abfrage in ein Template

Verfasst: 29.07.2018 14:37
von pierre63
Funktioniert leider nicht, in der DB steht 0
und er zeigt sie immer noch an

Re: If abfrage in ein Template

Verfasst: 29.07.2018 14:51
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}.

Re: If abfrage in ein Template

Verfasst: 29.07.2018 14:59
von pierre63
Er zeigt mir folgendes an:
Array ( [config_name] => boxan [config_value] => 0

wie mache ich das mit die Variable??

Re: If abfrage in ein Template

Verfasst: 29.07.2018 15:07
von HJW
Einfach im Template die Variable in dieser Form einfügen: {BOX_AN}

Re: If abfrage in ein Template

Verfasst: 29.07.2018 15:16
von pierre63
Habe sie oben im Template eingebaut
jetzt steht dort ne 0

Re: If abfrage in ein Template

Verfasst: 29.07.2018 15:21
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 -->

Re: If abfrage in ein Template

Verfasst: 29.07.2018 15:24
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)

Re: If abfrage in ein Template

Verfasst: 29.07.2018 17:57
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 -->