PHP if or else, else Problem

Kirzz

Aktives Mitglied
Thread Starter
Dabei seit
14.11.2009
Beiträge
1.363
Reaktionspunkte
99
Ich kenne mich nicht mit PHP aus, habe daher eine Aufgabe die ich nicht gelöst bekomme:

<hgroup>
<h1><?=$page->headline?></h1>
<?php if ($page->subheadline): ?>
<h2><?=$page->subheadline?></h2>
<?php endif; ?>
</hgroup>

Wenn 'subheadline' leer ist, wird <h2> nicht ausgegeben, soweit ganz gut. Eigentlich ist dann aber auch die <hgroup> überflüssig, weil nur noch <h1> darin enthalten ist, keine Gruppe mit einem Element.

Was fehlt ist ein 'else', welches bei fehlendem Input in Feld <?php if ($page->subheadline): ?> nur <h1><?=$page->headline?></h1> ausgibt, ohne <hgroup>.

Zum Beispiel so:

<?php if ($page->subheadline): ?>
<hgroup>
<h1><?=$page->headline?></h1>
<h2><?=$page->subheadline?></h2>
</hgroup>
ELSE
<h1><?=$page->headline?></h1>
<?php endif; ?>

Ist hier vielleicht ein Profi, der mir mit der Anwendung des ELSE auf die Sprünge helfen kann?
 
Dank an @warnochfrei

<?php if ($page->subheadline): ?>
<hgroup>
<h1><?=$page->headline?></h1>
<h2><?=$page->subheadline?></h2>
</hgroup>
<?php else: ?>
<h1><?=$page->headline?></h1>
<?php endif; ?>

hat wunderbar funktioniert.
 
  • Gefällt mir
Reaktionen: warnochfrei
Der besseren Übersicht halber bei solch kleinen Blöcken muss man auch nicht immer zwischen PHP und HTML wechseln und kann den wenigen HTML-Text aus PHP über echo ausgeben.....
Code:
<?php
if (Blabla)
  echo "<h1>blabla-1</h1>";
else
  echo "<h1>blabla-2</h1>";
endif
?>
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: dg2rbf
Oder so:
Code:
<?php
if ( is_home() ) {
    // This is a homepage
} else {
    // This is not a homepage
}
?>
 
  • Gefällt mir
Reaktionen: warnochfrei
Der besseren Übersicht halber bei solch kleinen Blöcken muss man auch nicht immer zwischen PHP und HTML wechseln und kann den wenigen HTML-Text aus PHP über echo ausgeben.....

Wobei man sich das gar nicht erst angewöhnen sollte - da lieber direkt HTML-Templates.
 
  • Gefällt mir
Reaktionen: emmerimre und wegus
Zurück
Oben Unten