Benutzer-Werkzeuge

Webseiten-Werkzeuge


webedition:code-examples:displaying-quote-of-the-month-with-a-block

Spruch des Monats mit einem Block ausgeben

Das folgende Beispiel zeigt Ihnen, wie Sie einen Spruch des Monats auf Ihrer Website ausgeben können.

Dabei liegt für jeden Monat ein Eintrag eines Blocks (<we:block>) bereit. Für den Block existiert ein Zähler (globale PHP-Variable), der bei jeder Wiederholung des Blocks um den Wert 1 erhöht wird. Bei der ersten Wiederholung hat der Zähler den Wert 1, bei der 12. Wiederholung hat er den Wert 12. Bei der Ausgabe auf der Website wird nur die Wiederholng des Blocks ausgegeben, bei der der Wert des Zählers mit dem aktuellen Monat übereinstimmt.

Demo

Quellcode

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <we:title></we:title>
    <we:description/>
    <we:keywords/>
    <we:charset defined="UTF-8">UTF-8</we:charset>
    <we:ifEditmode>
      <!--
        Dieses CSS-Definitionen dienen dazu, Formatierung innerhalb
        der Ansicht "Bearbeiten" für den Redakteur durchzuführen.
      -->
      <style type="text/css">
        table.editmode {
          border-collapse: collapse;
          border-spacing: 0;
          background: #FFFFFF;
          font: 12px "Trebuchet MS", Verdana, sans-serif;
          color: #000000;
          border: 1px solid #000000;
        }
 
        table.editmode > tbody > tr > th {
          vertical-align: top;
          text-align: left;
          background: #C7D8EC;
          border-right: 1px solid #000000;
          border-top: 1px solid #000000;
        }
 
        table.editmode > tbody > tr > td {
          border-top: 1px solid #000000;
        }
      </style>
    </we:ifEditmode>
 
    <we:ifNotEditmode>
      <style type="text/css">
        html {
          font-family: arial;
          font-size: .8em;
          color: #000000;
        }
 
        a {
          color: #000000;
        }
      </style>
    </we:ifNotEditmode>
  </head>
  <body>
 
    <!--
      Dieser Bereich ist nur für den Redakteur innerhalb
      der Ansicht Bearbeiten sichtbar.
      Er dient nur der Eingabe.
    -->
    <we:ifEditmode>
      <?php
        // Globale PHP-Variable mit dem Wert 0 initialisieren - als Zähler der Blockeinträge
        $GLOBALS['i_counter'] = (int) 0;
      ?>
      <we:block name="Sprueche">
        <table class="editmode" style="margin: 5px 0 5px 0" cellpadding="5">
          <tr>
            <th colspan="2">
              <!-- Ausgabe des Monats, für den der Eintrag der aktuellen Block-Wiederholung bestimmt ist -->
              Für den Monat <em><?php echo ++\$GLOBALS['i_counter'].'.'.date('Y', time()); ?></em>
            </th>
          </tr>
          <tr>
            <th width="80">Text</th>
            <td><we:textarea wysiwyg="false" name="Text" width="500" height="50" inlineedit="true"/></td>
          </tr>
          <tr>
            <th width="80">Quelle</th>
            <td><we:input type="text" name="Quelle" size="62"/></td>
          </tr>
        </table>
      </we:block>
    </we:ifEditmode>
 
    <!-- Dieser Bereich ist nicht in der Ansicht Bearbeiten sichtbar. -->
    <!-- Er dient nur der Ausgabe. -->
    <we:ifNotEditmode>
      <?php
        // Globale PHP-Variable mit dem Wert 0 initialisieren - als Zähler der Blockeinträge
        $GLOBALS['i_counter'] = (int) 0;
        // Aktuellen Monat in eine globale PHP-Variable speichern
        $GLOBALS['i_current_month'] = (int) date('n', time());
      ?>
      <we:ifNotEmpty match="Sprueche">
        <h2>Spruch des Monats</h2>
      </we:ifNotEmpty>
      <we:block name="Sprueche">
        <!-- Nur wenn der aktuelle Monat mit dem Zähler des Blocks übereinstimmt... -->
        <?php if (++\$GLOBALS['i_counter'] === \$GLOBALS['i_current_month']): ?>
          <blockquote>
            <we:var type="document" name="Text" htmlspecialchars="true"/>
          </blockquote>
          <cite>
            <we:var type="document" name="Quelle" htmlspecialchars="true"/>
          </cite>
        <?php endif; ?>
      </we:block>
    </we:ifNotEditmode>
 
  </body>
</html>

Weiterführende Informationen

webedition/code-examples/displaying-quote-of-the-month-with-a-block.txt · Zuletzt geändert: 2015/12/22 21:51 (Externe Bearbeitung)

Recent changes RSS feed