Templateerstellung: Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
== Templateerstellung für Infosite 6 ==
+
= Templateerstellung für Infosite 6 =
  
 
Für die Erstellung von Eingabetemplates empfielt Sitepark folgende HTML-Struktur, damit sich die Eingabemasken harmonisch in Infosite 6 einfügen:
 
Für die Erstellung von Eingabetemplates empfielt Sitepark folgende HTML-Struktur, damit sich die Eingabemasken harmonisch in Infosite 6 einfügen:
  
 +
== Allgemeine Container ==
 
Überschriften sollten nur aus der ersten bis dritten Kategorie (<code>&lt;h1&gt;</code> bis <code>&lt;h3&gt;</code>) verwendet werden. Eingabeblöcke sind mit einem <code>&lt;div class="editorblock"&gt;…&lt;/div&gt;</code> zu klammern.<br>
 
Überschriften sollten nur aus der ersten bis dritten Kategorie (<code>&lt;h1&gt;</code> bis <code>&lt;h3&gt;</code>) verwendet werden. Eingabeblöcke sind mit einem <code>&lt;div class="editorblock"&gt;…&lt;/div&gt;</code> zu klammern.<br>
 
Ein Erläuterungstext kann allgemein in einen Info-Container gepackt werden (<code>&lt;div class="info"&gt;…&lt;/div&gt;</code>).
 
Ein Erläuterungstext kann allgemein in einen Info-Container gepackt werden (<code>&lt;div class="info"&gt;…&lt;/div&gt;</code>).
Zeile 35: Zeile 36:
 
</source>
 
</source>
  
 +
== Iteratoren ==
 
Zur Gestaltung von Iteratoren gibt es mehrere Möglichkeiten (siehe auch [[spt:iterator]]):
 
Zur Gestaltung von Iteratoren gibt es mehrere Möglichkeiten (siehe auch [[spt:iterator]]):
  
Zeile 67: Zeile 69:
 
</source>
 
</source>
  
 +
== Container mit Label ==
 
Gestalterisch lässt dich das Design eines Iterators mit seinen Labels nachbauen. Hierfür ist folgender HTML-Code notwendig:
 
Gestalterisch lässt dich das Design eines Iterators mit seinen Labels nachbauen. Hierfür ist folgender HTML-Code notwendig:
 
<source lang="html4strict">
 
<source lang="html4strict">
 
<sp:io type="in">
 
<sp:io type="in">
<div class="editorblock">
+
  <div class="editorblock">
  <h2>Eingabeblock ohne Iterator</h2>
+
    <h2>Eingabeblock ohne Iterator</h2>
  Es beginnt mit einem div class="fieldset" ...
+
    Es beginnt mit einem div class="fieldset" ...
  <div class="fieldset">
+
    <div class="fieldset">
    <div class="legend">Hallo Legende</div>
+
      <div class="legend">Hallo Legende</div>
    <div class="fieldsetbody">
+
      <div class="fieldsetbody">
      Suspendisse neque nisi, aliquet sed fermentum in, molestie quis sem? Vivamus lobortis fermentum facilisis.
+
        Suspendisse neque nisi, aliquet sed fermentum in, molestie quis sem? Vivamus lobortis fermentum facilisis.
      Nam eget metus egestas, vestibulum risus vitae, sodales augue.
+
        Nam eget metus egestas, vestibulum risus vitae, sodales augue.
      <p>Suspendisse neque nisi, aliquet sed fermentum in, molestie quis sem?</p><p>Vivamus lobortis fermentum facilisis.</p>
+
        <p>Suspendisse neque nisi, aliquet sed fermentum in, molestie quis sem?</p><p>Vivamus lobortis fermentum facilisis.</p>
      <p>Nam eget metus egestas, vestibulum risus vitae, sodales augue.</p>
+
        <p>Nam eget metus egestas, vestibulum risus vitae, sodales augue.</p>
 +
      </div>
 
     </div>
 
     </div>
 
   </div>
 
   </div>
</div>
 
 
</sp:io>
 
</sp:io>
 
</source>
 
</source>
Zeile 88: Zeile 91:
 
Innerhalb des schon bekannten <code>editorblock</code>-Containers wird der Bereich mit <code>&lt;div class="fieldset"&gt;…&lt;/div&gt;</code> eingeleitet. Vergibt man hier noch zusätzlich die Klasse "fieldset-invert", wird der Bereich farblich anders gekennzeichnen (so wie beim Iterator der Parameter <code>invert</code> wirkt). In dem <code>fieldset</code>-Container kann mit dem <code>legend</code>-Container eine Legende als Überschrift positioniert werden. Der dann folgende Bereich wird mit einem Container <code>&lt;div class="fieldsetbody"&gt;…&lt;/div&gt;</code> geklammert, um Innenabstände zu erzeugen.
 
Innerhalb des schon bekannten <code>editorblock</code>-Containers wird der Bereich mit <code>&lt;div class="fieldset"&gt;…&lt;/div&gt;</code> eingeleitet. Vergibt man hier noch zusätzlich die Klasse "fieldset-invert", wird der Bereich farblich anders gekennzeichnen (so wie beim Iterator der Parameter <code>invert</code> wirkt). In dem <code>fieldset</code>-Container kann mit dem <code>legend</code>-Container eine Legende als Überschrift positioniert werden. Der dann folgende Bereich wird mit einem Container <code>&lt;div class="fieldsetbody"&gt;…&lt;/div&gt;</code> geklammert, um Innenabstände zu erzeugen.
  
 +
== Hinweise und Fehler ==
 
Soweit der allgemeine Templateaufbau. Neben der Kennzeichnung von Infotexten mit <code>&lt;div class="info"&gt;…&lt;/div&gt;</code> gibt es noch die Möglichkeit Hinweistexte zu kennzeichnen, welche in der Regel blau erscheinen. Hierfür kann die Klasse <code>notice-text</code> verwendet werden. Entsprechend können auch rot erscheinende Fehlertexte mit der Klasse <code>error-text</code> erzeugt werden. Felder, die Fehleingaben mit einem roten Rahmen signalisieren, können in den Container <code>error-field</code> gepackt werden.
 
Soweit der allgemeine Templateaufbau. Neben der Kennzeichnung von Infotexten mit <code>&lt;div class="info"&gt;…&lt;/div&gt;</code> gibt es noch die Möglichkeit Hinweistexte zu kennzeichnen, welche in der Regel blau erscheinen. Hierfür kann die Klasse <code>notice-text</code> verwendet werden. Entsprechend können auch rot erscheinende Fehlertexte mit der Klasse <code>error-text</code> erzeugt werden. Felder, die Fehleingaben mit einem roten Rahmen signalisieren, können in den Container <code>error-field</code> gepackt werden.
  
 
Auch hierzu ein weiteres Beispiel:
 
Auch hierzu ein weiteres Beispiel:
 +
<source lang="html4strict">
 +
<sp:io type="in">
 +
  <div class="editorblock">
 +
    .....
 +
    Auswahl für internen Link<br>
 +
    <span class="notice-text">(bitte wählen Sie für eine ordnungsgemäße Ausgabe nur Seiten mit vollständigem Inhalt aus)</span><br>
 +
    <spt:link name="sp_link" type="link" size="80" pools="${tmp_informationpools}" disabled="true"/><br>
 +
    <sp:condition><sp:if condition="isNull(${sp_url.url.toString}) || ${sp_url.url.toString.matches('https?://.*')}">
 +
      URL der zu verknüpfenden Seite (<em>mit "http://" beginnen</em>)<br>
 +
      <spt:text name="sp_url" type="url" size="80"/><br>
 +
    </sp:if><sp:else>
 +
      URL der zu verknüpfenden Seite <span class="error-text">(mit "http://" beginnen)</span><br>
 +
      <span class="error-field"><spt:text name="sp_url" type="url" size="80"/></span><br>
 +
    </sp:else></sp:condition>
 +
    .....
 +
  </div>
 +
</sp:io>
 +
</source>
 +
 +
== Radio-Buttons und Checkboxen ==
 +
Für eine bessere Positionierung von Checkboxen und Radio-Buttons zum dann folgenden Text empfielt Sitepark den Formularfeldern Klassennamen mitzugeben: "<code>radio</code>" für Radio-Buttons und "<code>checkbox</code>" für Checkboxen.
 +
 +
<source lang="html4strict">
 +
  <strong>Linktyp</strong><br>
 +
  <sp:radio name="sp_type" value="1" class="radio"/><label for="<sp:print name="system.tag"/>">Manuelle Liste</label><br>
 +
  <sp:radio name="sp_type" value="2" class="radio"/><label for="<sp:print name="system.tag"/>">Suchergebnis als Liste</label><br>
 +
  .....
 +
  <strong>Zielfenster</strong><br>
 +
  <sp:checkbox name="sp_linkNewWindow" value="true" class="checkbox"/><label for="<sp:print name="system.tag"/>">Link öffnet in neuem Fenster</label><br>
 +
</source>

Version vom 6. August 2013, 11:05 Uhr

Templateerstellung für Infosite 6

Für die Erstellung von Eingabetemplates empfielt Sitepark folgende HTML-Struktur, damit sich die Eingabemasken harmonisch in Infosite 6 einfügen:

Allgemeine Container

Überschriften sollten nur aus der ersten bis dritten Kategorie (<h1> bis <h3>) verwendet werden. Eingabeblöcke sind mit einem <div class="editorblock">…</div> zu klammern.
Ein Erläuterungstext kann allgemein in einen Info-Container gepackt werden (<div class="info">…</div>).

Hier ein Musterbeispiel:

<sp:io type="in">
  <h1>Überschrift</h1>
  <div class="info">
    Suspendisse neque nisi, aliquet sed fermentum in, molestie quis sem? Vivamus lobortis fermentum facilisis.
    Nam eget metus egestas, vestibulum risus vitae, sodales augue.
  </div>
  <div class="editorblock">
    <h2>H2 Überschrift</h2>
    <div class="info">
      Beschreiben Sie sie hier mit einer Überschrift und einer kurzen Zusammenfassung (bitte ohne HTML-Code) diese Seite.
      Beachten Sie bitte, dass die Zusammenfassung auch als Teaser beispielsweise in Newslisten verwendet wird.
    </div>
    <strong>Titel</strong><br>
    <spt:text name="sp_title" size="25"/><br>
    <br>
    <strong>Datum</strong><br>
    <spt:date name="sp_date" size="10"/><br>
    <br>
    <strong>Überschrift</strong><br>
    <spt:text name="sp_headline" size="60"/><br>
    <br>
    <strong>Einleitungstext</strong><br>
    <spt:textarea name="sp_intro" cols="58" rows="6"/><br>
  </div>
</sp:io>

Iteratoren

Zur Gestaltung von Iteratoren gibt es mehrere Möglichkeiten (siehe auch spt:iterator):

Möchte man die Standard-Nummerierung durch ein Label ersetzen, benutzt man den Parameter itemtext.
Bei verschachtelten Iteratoren ist es oftmals hilfreich die Iterator-Ebenen unterschiedlich zu kennzeichnen. Hier hilft der Parameter invert weiter. Ursprünglich wurde ein so gekennzeichneter Block dunkler und das Label invertiert (also helle Schrift auf dunklem Grund) dargestellt. Daher der Name des Parameters. Inzwischen steuert dieser Parameter bloß noch eine etwas andere farbliche Darstellung. Kombiniert man beide Parameter, kann man diverse Iterator-Ebenene abbilden, die zugleich übersichtlich bleiben.

Hier ein weiteres Musterbeispiel:

<sp:io type="in">
  <div class="editorblock">
    <h2>Musterbeispiel eines verschachtelten Iterators</h2>
    <spt:iterator name="sp_paragraph_iterate" itemtext="Abschnitt">
      <strong>Textabschnitt</strong><br>
      <spt:tinymce name="sp_text" cols="62" rows="5"/><br>
      <spt:iterator name="sp_chapter_iterate" itemtext="Kapitel" invert="true">
        <strong>Kapiteltext</strong><br>
        <spt:tinymce name="sp_text" cols="60" rows="5"/><br>
        <spt:iterator name="sp_verse_iterate" itemtext="Vers">
          <strong>Versnummer</strong><br>
          <spt:text name="sp_number" size="60"/><br>
          <strong>Verstext</strong><br>
          <spt:textarea name="sp_text" cols="58" rows="5"/><br>
          <strong>Linkliste</strong><br>
          <spt:iterator name="sp_linklist_iterate" invert="true">
            <spt:link name="sp_link" size="59"/>
          </spt:iterator>
        </spt:iterator>
      </spt:iterator>
    </spt:iterator>
  </div>
</sp:io>

Container mit Label

Gestalterisch lässt dich das Design eines Iterators mit seinen Labels nachbauen. Hierfür ist folgender HTML-Code notwendig:

<sp:io type="in">
  <div class="editorblock">
    <h2>Eingabeblock ohne Iterator</h2>
    Es beginnt mit einem div class="fieldset" ...
    <div class="fieldset">
      <div class="legend">Hallo Legende</div>
      <div class="fieldsetbody">
        Suspendisse neque nisi, aliquet sed fermentum in, molestie quis sem? Vivamus lobortis fermentum facilisis.
        Nam eget metus egestas, vestibulum risus vitae, sodales augue.
        <p>Suspendisse neque nisi, aliquet sed fermentum in, molestie quis sem?</p><p>Vivamus lobortis fermentum facilisis.</p>
        <p>Nam eget metus egestas, vestibulum risus vitae, sodales augue.</p>
      </div>
    </div>
  </div>
</sp:io>

Innerhalb des schon bekannten editorblock-Containers wird der Bereich mit <div class="fieldset">…</div> eingeleitet. Vergibt man hier noch zusätzlich die Klasse "fieldset-invert", wird der Bereich farblich anders gekennzeichnen (so wie beim Iterator der Parameter invert wirkt). In dem fieldset-Container kann mit dem legend-Container eine Legende als Überschrift positioniert werden. Der dann folgende Bereich wird mit einem Container <div class="fieldsetbody">…</div> geklammert, um Innenabstände zu erzeugen.

Hinweise und Fehler

Soweit der allgemeine Templateaufbau. Neben der Kennzeichnung von Infotexten mit <div class="info">…</div> gibt es noch die Möglichkeit Hinweistexte zu kennzeichnen, welche in der Regel blau erscheinen. Hierfür kann die Klasse notice-text verwendet werden. Entsprechend können auch rot erscheinende Fehlertexte mit der Klasse error-text erzeugt werden. Felder, die Fehleingaben mit einem roten Rahmen signalisieren, können in den Container error-field gepackt werden.

Auch hierzu ein weiteres Beispiel:

<sp:io type="in">
  <div class="editorblock">
    .....
    Auswahl für internen Link<br>
    <span class="notice-text">(bitte wählen Sie für eine ordnungsgemäße Ausgabe nur Seiten mit vollständigem Inhalt aus)</span><br>
    <spt:link name="sp_link" type="link" size="80" pools="${tmp_informationpools}" disabled="true"/><br>
    <sp:condition><sp:if condition="isNull(${sp_url.url.toString}) || ${sp_url.url.toString.matches('https?://.*')}">
      URL der zu verknüpfenden Seite (<em>mit "http://" beginnen</em>)<br>
      <spt:text name="sp_url" type="url" size="80"/><br>
    </sp:if><sp:else>
      URL der zu verknüpfenden Seite <span class="error-text">(mit "http://" beginnen)</span><br>
      <span class="error-field"><spt:text name="sp_url" type="url" size="80"/></span><br>
    </sp:else></sp:condition>
    .....
  </div>
</sp:io>

Radio-Buttons und Checkboxen

Für eine bessere Positionierung von Checkboxen und Radio-Buttons zum dann folgenden Text empfielt Sitepark den Formularfeldern Klassennamen mitzugeben: "radio" für Radio-Buttons und "checkbox" für Checkboxen.

  <strong>Linktyp</strong><br>
  <sp:radio name="sp_type" value="1" class="radio"/><label for="<sp:print name="system.tag"/>">Manuelle Liste</label><br>
  <sp:radio name="sp_type" value="2" class="radio"/><label for="<sp:print name="system.tag"/>">Suchergebnis als Liste</label><br>
  .....
  <strong>Zielfenster</strong><br>
  <sp:checkbox name="sp_linkNewWindow" value="true" class="checkbox"/><label for="<sp:print name="system.tag"/>">Link öffnet in neuem Fenster</label><br>