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: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

If abfrage in ein Template

Beitragvon pierre63 » 29.07.2018 12:38

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: 981
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon HJW » 29.07.2018 14:02

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: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon pierre63 » 29.07.2018 14:37

Funktioniert leider nicht, in der DB steht 0
und er zeigt sie immer noch an

HJW
Mitglied
Beiträge: 981
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon HJW » 29.07.2018 14:51

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: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon pierre63 » 29.07.2018 14:59

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

wie mache ich das mit die Variable??

HJW
Mitglied
Beiträge: 981
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon HJW » 29.07.2018 15:07

Einfach im Template die Variable in dieser Form einfügen: {BOX_AN}

pierre63
Mitglied
Beiträge: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon pierre63 » 29.07.2018 15:16

Habe sie oben im Template eingebaut
jetzt steht dort ne 0

HJW
Mitglied
Beiträge: 981
Registriert: 20.04.2007 20:48
Wohnort: 45481 Mülheim an der Ruhr
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon HJW » 29.07.2018 15:21

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: 24
Registriert: 28.03.2018 07:41
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon pierre63 » 29.07.2018 15:23

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: 15470
Registriert: 23.04.2003 08:22
Wohnort: Xanten
Kontaktdaten:

Re: If abfrage in ein Template

Beitragvon Dr.Death » 29.07.2018 17:57

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 -->


Zurück zu „Coding & Technik“