nach oben

Newsboxen

CMSimple_XH bietet die Möglichkeit, beliebige Seiten innerhalb einer anderen Seite, in Form einer sogenannten Newsbox, anzeigen zu lassen. Das kann durch einen Aufruf im Template auf allen Seiten geschehen (zum Beispiel in einer Sidebar) – oder durch einen Plugin-Aufruf nur auf einer einzelnen Seite.

Beispiele

Newsbox in einer Sidebar

<?php echo newsbox('[Seitenname]');?>

Angenommen, eine Vereins-Website ist (klassisch) in drei Spalten aufgeteilt. Also zum Beispiel links das Navigations-Menü, in der Mitte der eigentliche Seiten-Inhalt und rechts eine Spalte, die weitere Informationen enthalten soll. In diesem Beispiel wollen wir in der rechten Spalte den jeweils nächsten Versammlungs-Termin des Vereins ankündigen. Diese Ankündigung soll auf allen Seiten zu sehen sein.

Die Versammlungen finden alle drei Monate statt – die Ankündigung muss also relativ häufig aktualisiert werden. Hier bietet sich an, diese Ankündigung auf einer eigenen Inhaltsseite zu platzieren, dadurch lässt sie sich so leicht aktualisieren wie jeder andere Inhalt auch. Da die Informationen dieser Seite ohnehin immer und überall zu sehen sein werden, muss diese Seite nicht im Navigations-Menü auftauchen – wir werden sie also verstecken.

  • Lege eine neue Seite mit dem Namen „Versammlungen“ an.
  • Wechsle in den Bearbeiten-Modus und rufe die neue Seite „Versammlungen“ auf.
  • Gestalte diese Seite nach Belieben. Speichere deine Eingaben.
  • Im Tab Seite (über dem Editor) schaltest du die Checkbox In der Navigation anzeigen? aus. Speichern!

Wir haben nun also eine Seite angelegt, die bisher nirgends angezeigt wird, weil sie versteckt ist. Wir müssen jetzt dafür sorgen, dass diese Seite in der rechten Seitenspalte auftaucht.

 

Dazu ist es nötig, dass wir die Datei /templates/[aktuelles Template]/template.htm bearbeiten. Die Bearbeitung kann online direkt im System oder offline mit einem externen Editor erfolgen.

Jetzt suchen wir im Quellcode dieser Datei die rechte Sidebar und fügen dort den Aufruf für die Newsbox mit dem Namen „Versammlungen“ ein.

(Der folgende Code ist nur beispielhaft, bei dir könnte alles ganz anders aussehen.)

...
<div class="leftSidebar">
    ...
</div>
<div class="middleContent">
    ...
</div>
<div class="rightSidebar">
    <?php echo newsbox('Versammlungen');?>
</div>
...

Das Ergebnis entspricht unserem Wunsch: Die Seite „Versammlungen“ erscheint in der rechten Spalte.

Newsbox im Inhalt einer Seite

{{{newsbox('[Seitenname]')}}}

Die Verwendung von Newsboxen kann auf unterschiedlichste Art erfolgen. Man kann auch mehrere Newsboxen auf einer Seite haben, alles kein Problem. Zur Veranschaulichung bleiben wir mal beim Bei‍spiel von oben.

Diesmal ist unser Wunsch, die Termine nicht permanent in der rechten Sidebar anzuzeigen, sondern nur dann, wenn dies irgendwo auf irgendeiner Seite angebracht ist.

Realisieren lässt sich das recht einfach mit einem Pluginaufruf – und zwar genau an der Stelle im Seitentext, an der die Newsbox erscheinen soll.  Es empfiehlt sich, Plugin-Aufrufe immer in der Quelltext-Ansicht des Editors einzufügen und in <div> ... </div> einzukleiden. Bei‍spiel­:‍­

...
<h1>Überschrift</h1>
<p> ... Text ... </p>
<div>{{{newsbox('Versammlungen')}}}</div>
...

Was bringt das?

Nun, auf den ersten Blick nicht viel. Die Terminankündigung hätte man auch direkt in die Seite schreiben können. Stellen wir uns aber vor, dass wir diese auf vielen weiteren Seiten anzeigen wollen, dann wird der Vorteil klar. Wir müssen nämlich die Seite „Versammlungen“ nur einmal ändern – und automatisch werden alle anderen Vorkommen mitgeändert. Da kann man schon Tipparbeit sparen.

Newsbox

Eine Newsbox ist eine Seite, die innerhalb einer anderen Seite angezeigt werden kann.

Templates

Templates sind Gestaltungsvorlagen für Websites, die wie Schablonen wirken. Sie bestimmen den Ort, an dem Elemente erscheinen und beeinflussen deren Aussehen.