if Anweisung über mehrere div
haralambos
- php
0 Der Martin0 T-Rex0 ichbinich0 Gunnar Bittersmann0 Eddi1 dedlfix
Hallo Leute,
ich brauche Hilfe bei der Erstellung von einer if Anweisung. So sieht der Code Momentan aus:
<?php
$infobox_text = page_content(17);
if (!empty($infobox_text)) {
?>
<div class="content-infobox">
<div class="infobox">
<div class="infobox-text">
<?php echo $infobox_text; ?>
</div>
</div>
<div class="infobox-leiste">
<div class="infobox-leistentext">
<?php page_content(18); ?>
</div>
</div>
</div>
<?php } ?>
Unter page_content 17 steht nicht auf jeder Seite ein Textinhalt. Daher soll der gesamte div content-infobox inkl. aller in css programmierten sytles nur angezeigt werden, wenn in page_content 17 auch Text hinterlegt ist (der Text wird über ein CMS eingefügt und dieser Abschnit ist dem page_content 17 zugewiesen).
Habt ihr Fragen? Fragen.
Ich würde mich echt freuen, wenn ich Hilfestellung bekomen könnte, da ich mit den if-Anweisungen nicht vertraut bin und alle bisher gesehenen Seiten nicht weitergeholfen haben.
Hi,
Habt ihr Fragen?
jede Menge. Du aber anscheinend nicht, oder? Zumindest hast du keine gestellt, und mir ist nicht klar, was eigentlich dein momentanes Problem ist. PHP-Syntax? Template-Baumuster?
Ciao,
Martin
Hi Martin,
sorry. Zur Info: Der Text liegt in einer auf css erstellten Box mit Rahmen und Abschlußleiste. Damit der Text im Rahmen ist habe ich das Layout mit weiteren divs erstellt:
<?php
$infobox_text = page_content(17);
if (!empty($infobox_text)) {
?>
<div class="content-infobox">
<div class="infobox">
<div class="infobox-text">
<?php echo $infobox_text; ?>
</div>
</div>
<div class="infobox-leiste">
<div class="infobox-leistentext">
<?php page_content(18); ?>
</div>
</div>
</div>
<?php
}
?>
Der Text wird auch angezeigt. Aber die divs bleiben bei diesere Variante der if Anweisung weiter verborgen.
Meine Frage: Wie muss ich die Anweisung so umstellen, das im Prinzip bei existierendem Text in "infobox-text" alle divs innerhalb der Abfrage ebenfalls angezeigt werden. Also das das Layout auch auf dem Bildschirm zu sehen ist.
Danke und Gruß
Harry
Hi,
Habt ihr Fragen?
jede Menge. Du aber anscheinend nicht, oder? Zumindest hast du keine gestellt, und mir ist nicht klar, was eigentlich dein momentanes Problem ist. PHP-Syntax? Template-Baumuster?
Ciao,
Martin
Hallo,
Der Text wird auch angezeigt. Aber die divs bleiben bei diesere Variante der if Anweisung weiter verborgen.
Also wenn die divs verborgen sind kannst du auch keinen darin enthaltenen Text sehen. Entweder siehst du Text, der außerhalb deines geposteten Code-Snippets eingebunden wird oder irgendwas wird per CSS versteckt.
vg ichbinich
Also rein Syntaktisch sieht das alles gut aus.
Mach weiter so !
Gruß
Applaus spendierende
T-Rex
Hallo,
ich würde die Einrückungen etwas ändern, dann sieht man besser, was zusammengehört:
| <?php
> $infobox_text = page_content(17);
> if (!empty($infobox_text)) {
> ?>
> <div class="content-infobox">
> <div class="infobox">
> <div class="infobox-text">
> <?php echo $infobox_text; ?>
> </div>
> </div>
> <div class="infobox-leiste">
> <div class="infobox-leistentext">
> <?php page_content(18); ?>
> </div>
> </div>
> </div>
> <?php
> }
> ?>
vg ichbinich
@@haralambos:
nuqneH
ich brauche Hilfe bei der Erstellung von einer if Anweisung.
Dafür ist die alternative Syntax für Kontrollstrukturen da:
<?php
[code lang=php] $infobox_text = page_content(17);
if (!empty($infobox_text)):
?>
<div class="content-infobox">
<div class="infobox">
<div class="infobox-text">
<?php echo $infobox_text; ?>
</div>
</div>
<div class="infobox-leiste">
<div class="infobox-leistentext">
<?php page_content(18); ?>
</div>
</div>
</div>
<?php endif;
?>[/code]
Qapla'
<?php
$infobox_text = page_content(17);
if (!empty($infobox_text)) {
?>
<div class="content-infobox">
<div class="infobox">
<div class="infobox-text">
<?php echo $infobox_text; ?>
</div>
</div>
<div class="infobox-leiste">
<div class="infobox-leistentext">
<?php page_content(18); ?>
</div>
</div>
</div>
<?php } ?>
Ganz ehrlich?
Ich halte dieses permanente ein- und ausschalten des php-interpreters für unsinnig und nur schwer lesbar.
Eddi
Tach!
Ganz ehrlich?
Ich halte dieses permanente ein- und ausschalten des php-interpreters für unsinnig und nur schwer lesbar.
Ein Wechsel zwischen zwei Systemen muss immer irgendwie gekennzeichnet werden. Um irgendeine Form des Ein- und Ausschaltens kommt man nicht herum. Wenn dir Länge der Sequenz "<?php echo" zu lang ist, dagegen gibt es ab PHP 5.4 dauerhaft Abhilfe, denn ab da ist die Kurzform <?= unabschaltbar aktiviert.
dedlfix.