Änderungen

Die Seite wurde neu angelegt: „<noinclude>__NOTOC__ == Beschreibung == Dies ist die Vorlage '''{{PAGENAME}}'''. Sie listet zugeordnete Artikel eines Basistyps (alternativ auch anderer Attri…“
<noinclude>__NOTOC__
== Beschreibung ==
Dies ist die Vorlage '''{{PAGENAME}}'''.

Sie listet zugeordnete Artikel eines Basistyps (alternativ auch anderer Attribute) im Kachel-Format auf.
=== Aufbau der Vorlage ===
<pre>
{{Produktliste
| Kachel Wert =
| Kachel Attribut =
| Kachel Seite =
| Kachel Überschrift =
| Kachelspalten =
}}
</pre>

=== Parameter der Vorlage ===
{| class="wikitable"
! Parameter !! Pflichtfeld !! Default !! Erläuterung
|-
| <Kachel Wert> || Pflicht || - || enthält in der Regel den entsprechenden [[:Kategorie:Basistyp]]
|-
| <Kachel Attribut> || optional || Basistyp || Alternativer und beliebiger Attributswert, falls "Basistyp" nicht passend ist (wobei "<Wert>" dann dazu auch passen muss)
|-
| <Kachel Seite> || optional || <nowiki>{{PAGENAME}}</nowiki> || Seite, für welche die Produktlisteerzeugt werden soll
|-
| <Kachel Überschrift> || optional || (wird generiert) || Überschrift über der Produktliste
|-
| <Kachelspalten> || optional || 2 || Legt fest, in wie vielen Spalten die Kacheln fließen sollen; Nicht-Zahlen sowie Zahlen größer als die Anzahl der anzuzeigenden Artikel werden auf Default gesetzt
|}

== Beispiel 1 (Basistyp als default) ==
=== Eingabe Beispiel 1 ===
<pre>
{{Produktliste
| Kachel Wert = Unterart
| Kachel Attribut =
| Kachel Seite = Bär
| Kachel Überschrift = Bärige Zeitgenossen
| Kachelspalten = 3
}}
</pre>
=== Ausgabe Beispiel 1 ===
{{Produktliste
| Kachel Wert = Unterart
| Kachel Attribut =
| Kachel Seite = Bär
| Kachel Überschrift = Bärige Zeitgenossen
| Kachelspalten = 3
}}

== Beispiel 2 (Wahrheitswert "Als Rasse klassifiziert") ==
=== Eingabe Beispiel 2 ===
<pre>
{{Produktliste
| Kachel Wert = wahr
| Kachel Attribut = Als Rasse klassifiziert
| Kachel Seite = Rasse
| Kachel Überschrift =
| Kachelspalten =
}}
</pre>
=== Ausgabe Beispiel 2 ===
{{Produktliste
| Kachel Wert = wahr
| Kachel Attribut = Als Rasse klassifiziert
| Kachel Seite = Rasse
| Kachel Überschrift =
| Kachelspalten =
}}


== Beispiel 3 ==
=== Eingabe Beispiel 2 ===
<pre>
{{Produktliste
| Kachel Wert = Landschaftsgebiet
| Kachel Attribut = Hauptkategorie
| Kachel Seite = Selenia
| Kachel Überschrift =
| Kachelspalten =
}}
</pre>
=== Ausgabe Beispiel 3 ===
{{Produktliste
| Kachel Wert = Landschaftsgebiet
| Kachel Attribut = Hauptkategorie
| Kachel Seite = Selenia
| Kachel Überschrift =
| Kachelspalten =
}}

== Beispiel 4 (mit Falscheintrag bei Kachelspalten) ==
=== Eingabe Beispiel 4 ===
<pre>
{{Produktliste
| Kachel Wert = Unterart
| Kachel Seite = Nashorn
| Kachelspalten = 10 oder 11
}}
</pre>
=== Ausgabe Beispiel 4 ===
{{Produktliste
| Kachel Wert = Unterart
| Kachel Seite = Nashorn
| Kachelspalten = 10 oder 11
}}

Klicke auf „Bearbeiten“, um den Vorlagentext anzusehen.

== Bearbeiten ==
</noinclude><includeonly><!--


//////////////////////////////////////////////////////////////
/// Definitionen
//////////////////////////////////////////////////////////////

/// ermittle die Werte aus dem Vorlagenaufruf

/// 1 Kachel Wert
-->{{#vardefine: Kachel Wert <!--
-->| {{#if: {{{Kachel Wert|}}} <!--
-->| {{{Kachel Wert}}} <!--
-->| {{#if: {{{1|}}} <!--
-->| {{{1}}} <!--
-->| <!-- /// kein default!
-->}}<!--
-->}}<!--
-->}}<!--

/// 2 Kachel Attribut
-->{{#vardefine: Kachel Attribut <!--
-->| {{#if: {{{Kachel Attribut|}}} <!--
-->| {{{Kachel Attribut}}} <!--
-->| {{#if: {{{2|}}} <!--
-->| {{{2}}} <!--
-->| Basistyp <!-- /// default
-->}}<!--
-->}}<!--
-->}}<!--

/// 3 Kachel Seite
-->{{#vardefine: Kachel Seite <!--
-->| {{#if: {{{Kachel Seite|}}} <!--
-->| {{{Kachel Seite}}} <!--
-->| {{#if: {{{3|}}} <!--
-->| {{{3}}} <!--
-->| {{PAGENAME}} <!-- /// default
-->}}<!--
-->}}<!--
-->}}<!--

/// ermittle die Anzahl der anzuzeigenden Artikel
-->{{#vardefine: Artikel Anzahl | {{#ask: [[ {{#var:Kachel Attribut}}::{{#var:Kachel Wert}} ]] [[ GehörtZu::{{#var:Kachel Seite}} ]] | format=count | default= 0 }} }}<!--
/// ermittle für die default Überschrift, welcher Wert angezeigt werden soll
-->{{#vardefine: Kachel Wert Anzeige <!--
-->| {{#ifeq: {{#show: Attribut:{{#var:Kachel Attribut}} | ?Datentyp# }} | Wahrheitswert <!--
-->| {{#var:Kachel Attribut}} <!--
-->| {{#var:Kachel Wert}}<!--
-->}}<!--
-->}}<!--

/// 4 Kachel Überschrift
-->{{#vardefine: Kachel Überschrift <!--
-->| {{#if: {{{Kachel Überschrift|}}} <!--
-->| {{{Kachel Überschrift}}} <!--
-->| {{#if: {{{4|}}} <!--
-->| {{{4}}} <!--
-->| {{#var:Kachel Seite}} - Übersicht {{#var:Kachel Wert Anzeige }} <!-- /// default
-->}}<!--
-->}}<!--
-->}}<!--

/// 5 Kachelspalten
-->{{#vardefine: Kachelspalten <!--
-->| {{#if: {{{Kachelspalten|}}} <!--
-->| {{{Kachelspalten}}} <!--
-->| {{#if: {{{5|}}} <!--
-->| {{{5}}} <!--
-->| 2 <!-- /// default
-->}}<!--
-->}}<!--
-->}}<!--

/// überprüfe und korrigiere ggf. Kachelspalten (ist Nummer? ist größer als Artikel Anzahl?)
-->{{#iferror: {{#expr:{{#var:Kachelspalten}}*1}} <!--
-->| {{#vardefine: Kachelspalten | 2 }} <!--
-->| {{#ifexpr: {{#var:Kachelspalten}} > {{#var:Artikel Anzahl}} <!--
-->| {{#vardefine: Kachelspalten | 2 }} <!--
-->|<!--
-->}}<!--
-->}}<!--

/// ermittle und definiere die Kacheldarstellung
-->{{#vardefine: Kachelraum | {{#expr:100-({{#var:Kachelspalten}}*3) }} }}<!--
-->{{#vardefine: Kachelbreite | {{#expr: floor ( {{#var:Kachelraum}} / {{#var:Kachelspalten}} ) }} }}<!--
-->{{#vardefine: Kachel-Zähler | 0 }}<!--
-->{{#vardefine: Farbe umgebende Box | hellerblau }}<!--
-->{{#vardefine: Farbe Teaser | weiss }}<!--

--><!--
//////////////////////////////////////////////////////////////


##############################################################
### Darstellung
##############################################################
### Debug
->''Debug<hr>Kachel Wert = {{#var: Kachel Wert}}<hr>Kachel Attribut = {{#var: Kachel Attribut }}<hr>Kachel Seite = {{#var: Kachel Seite }}<hr>Artikel Anzahl = {{#var: Artikel Anzahl }}<hr>Kachel Überschrift = {{#var: Kachel Überschrift }}<hr>{{#var:Kachelspalten }} Kachelspalten <hr>{{#var:Kachelraum }} Kachelraum <hr>{{#var:Kachelbreite}} Kachelbreite<hr>{{#var:Kachel-Zähler }} Kachel-Zähler <hr>''<!--

### wurde der Basistyp (das Attribut) gesetzt?
-->{{#ifexpr: {{#var:Artikel Anzahl}} > 1 <!--
-->|<!--

### starte mit dem Titel
-->{{Umbruch links}}<!--
--><h2>{{#var:Kachel Überschrift}}<!--
-->&#32;({{#var:Artikel Anzahl}})<!--
--></h2><!--

### gehe alle zugehörigen Basistypen (Attribute) durch
-->{{#arraymap: {{#ask: [[{{#var:Kachel Attribut}}::{{#var:Kachel Wert}}]] [[GehörtZu::{{#var:Kachel Seite}}]] | link=none | sep=@//@ }}<!--
-->| @//@ <!--
-->| @@@@ <!--
-->|<!--

### setzte den Kachel-Zähler einen hoch
-->{{#vardefine: Kachel-Zähler | {{#expr: {{#var:Kachel-Zähler}} + 1 }} }}<!--

### beginne Zeilen-Kachel
-->{{#ifexpr: {{#var:Kachel-Zähler}} = 1 <!--
-->| <div class="kachel {{#var: Farbe umgebende Box }} "><!--
-->|<!--
-->}}<!--

### beginne Artikel-Kachel
--><div class="kachel {{#var: Farbe Teaser }} " style="float:left; width:{{#var:Kachelbreite}}%; " ><!--

### setze den Kacheltitel - Seitentitel, ergänzt um Kurzinfo, falls nicht nach Basistyp gefragt wird
--><div class="center " ><!--
-->'''[[@@@@]]'''<!--
--></div><!--

### START Textbox um Bild + Steckbrief
--><div class="textbox" ><!--

### ermittle das Kachelbild: nimm als Bild erst das Wappen, dann das Profilbild und schließlich das Icon der Hauptkategorie
-->{{#vardefine: Kachelbild <!--
-->| {{#if: {{{6|}}} <!--
-->| {{{6}}} <!--
-->| {{#show: @@@@ | ?Wappen# <!--
-->| default={{#show: @@@@ | ?Profilbild# <!--
-->| default={{#show: {{#show: @@@@ | ?Hauptkategorie# }} |?Icon# }}<!--
-->}} <!--
-->}}<!--
-->}}<!--
-->}}<!--

### setze das Kachelbild ein (verlinkt mit Seite)
--><div class=rechts><!--
-->{{Vorschaubild.Kreis | 1={{#var: Kachelbild}} | 2=@@@@ }}<!--
--></div><!--

### zeige den Steckbrief an (verlinkt mit Seite)
-->[[ @@@@ | {{#show: @@@@ | ?Steckbrief | default=(ohne Kurzbeschreibung) }} ]]<!--

### ENDE Textbox um Bild + Kurzbeschreibung
--></div><!--

### beende Artikel-Kachel
--></div><!--

### ermittle, ob die letzte Kachelspalte dieser Zeile erreicht ist
-->{{#ifexpr: {{#var:Kachel-Zähler}} = {{#var:Kachelspalten}} <!--
-->| </div>{{Umbruch links}} <!--
### setze den Kachel-Zähler zurück auf 0
--> {{#vardefine: Kachel-Zähler | 0 }} <!--
-->|<!--
-->}}<!--

### schließe die arraymap
-->| <!--
-->}}<!--

### schließe die allerletzte Zeilen-Kachel, wenn die letzte Zeile weniger Artikel als Kachelspalten hat
-->{{#ifexpr: {{#var:Kachel-Zähler}} < {{#var:Kachelspalten}}<!--
-->| </div> <!--
-->|<!--
-->}}<!--

### erstelle die Ausschluss-Abfrage für die zentrale Liste
-->{{#vardefine: Kachel Ausschluss | [[ {{#var:Kachel Attribut}} ::! {{#var:Kachel Wert}} ]] }}<!--

### schließe eingehende Abfrage
-->|<!--
-->}}<!--

### breche für nachfolgende Inhalte links um
-->{{Umbruch links}}<!--
##############################################################

--></includeonly>