Erweiterte Funktionen

Neben den Basis-Platzhaltern bietet WBCE weitere Möglichkeiten für anspruchsvollere Templates.


Suchmaske einbinden

<?php if(SHOW_SEARCH) { ?>
<form name="search" action="<?php echo WB_URL; ?>/search/index.php" method="get">
  <input type="hidden" name="referrer"
    value="<?php echo defined('REFERRER_ID') ? REFERRER_ID : PAGE_ID; ?>" />
  <input type="text" name="string" />
  <input type="submit" value="<?php echo $TEXT['SEARCH']; ?>" />
</form>
<?php } ?>

Pflichtfelder: versteckter Parameter referrer und Eingabefeld mit Name string. Gestaltung ansonsten frei.

Alternativ: Droplet SearchBox verwenden.

Suchergebnisse hervorheben — in die Template-CSS eintragen:

.highlight { background-color: #ffff00; }

Frontend-Login einbinden

Zeigt eine Anmeldemaske wenn Frontend-Login aktiv ist und der Besucher nicht eingeloggt ist — nach Login eine Abmeldemaske:

<?php
if(FRONTEND_LOGIN == 'enabled' AND $wb->get_session('USER_ID') == '') { ?>
  <form name="login" action="<?php echo LOGIN_URL; ?>" method="post">
    <input type="text" name="username" />
    <input type="password" name="password" />
    <input type="submit" value="<?php echo $TEXT['LOGIN']; ?>" />
    <a href="<?php echo FORGOT_URL; ?>"><?php echo $TEXT['FORGOT_DETAILS']; ?></a>
  </form>
<?php } elseif(FRONTEND_LOGIN == 'enabled') { ?>
  <form name="logout" action="<?php echo LOGOUT_URL; ?>" method="post">
    <?php echo $wb->get_display_name(); ?>
    <input type="submit" value="<?php echo $MENU['LOGOUT']; ?>" />
  </form>
<?php } ?>

Interne Links per wblink

Statt absoluter URLs können Seiten per ID verlinkt werden — der Outputfilter ersetzt den Platzhalter automatisch:

<a href="https://wbce-handbuch.de/pages/konzepte/templates-konzept.php">Wir über uns</a>

Vorteil: Link bleibt gültig auch wenn die Seiten-URL sich ändert.


Optionale Blöcke

Template-Bereiche können in Abhängigkeit von Seitenvariablen angezeigt oder ausgeblendet werden:

<?php if(PAGE_ID == 1) { ?>
  <!-- Nur auf der Startseite -->
<?php } ?>

Zweiter Block für Topics

Das Topics-Modul kann einen zweiten Block nutzen — z.B. für Beitragsbild oder Navigation:

if(defined('TOPIC_BLOCK2') AND TOPIC_BLOCK2 != '') {
    $page_content_2 = TOPIC_BLOCK2;
} else {
    ob_start();
    page_content(2);
    $page_content_2 = ob_get_contents();
    ob_end_clean();
}
echo $page_content_2;