Hilfe:Arbeiten und programmieren mit Vorlagen: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
K (Hilfe:Kategorisieren von Seiten: Kategorie: Vorlagenprogrammierung hinzugefügt mittels HotCat-Helferlein (s. Benutzereinstellungen))
(+Codeschnippsel von https://offene-naturfuehrer.de/w/index.php?title=Benutzer:Andreas_Plank/Vorlagenprogrammierung&oldid=37695)
Zeile 12: Zeile 12:
 
preload=Template:Documentation/preload-one-page-template
 
preload=Template:Documentation/preload-one-page-template
 
</inputbox>
 
</inputbox>
 +
 +
 +
{{links|{{Logo|Tip}}}} Oft ist es hilfreich Wiki-Code-Fragmente durchzuanalysieren, welche Ausgabe sie tatsächlich erzeugen. Verwende hierzu die Spezialseite [[Spezial:Vorlagen_expandieren]].
 +
 +
__INHALTSVERZEICHNIS__
 +
 +
==Programmierung==
 +
 +
=== Wiki Transklusion ===
 +
 +
Jede Seite mit <nowiki>{{:Seitentitel}}</nowiki>. Siehe http://www.mediawiki.org/wiki/Transclusion.
 +
 +
=== Funktionen ===
 +
Verschachteln immer mit Einrücken benutzten aber ohne versehentlich Leerzeichen einzufügen:
 +
<syntaxhighlight lang="html4strict">
 +
····················
 +
<!--
 +
 +
description
 +
  -->{{#if: …<!-- 
 +
  then-->|<!--
 +
  else-->|
 +
  }}<!-- if: end  -->
 +
<!--
 +
 +
Erklärung
 +
  -->{{#if: …<!-- 
 +
  dann -->|<!--
 +
  sonst-->|
 +
  }}<!-- if: end  -->
 +
····················
 +
</syntaxhighlight>
 +
Hinweis: ifelse-Konstrukte können auch erreicht werden durch verschachteln von Vorlagen-Parametern, d.h. der äußere überschreibt den inneren Parameter:
 +
<syntaxhighlight lang="html4strict">
 +
<!--
 +
die folgende Verschachtelung …
 +
  -->{{{result|{{{scientific name|}}}}}}<!--
 +
 +
  … ist dasselbe wie …
 +
 +
  -->{{#if: {{{result|}}}<!-- 
 +
  dann -->|{{{result|}}}<!--
 +
  sonst-->|{{{scientific name|}}}<!--
 +
  -->}}<!--
 +
-->
 +
</syntaxhighlight>
 +
Jedoch funtioniert dies nicht wenn eine Vorlage leere Werte an eine zweite Vorlage weitergibt, weil selbst dann Werte mit „“ als „gesetzt“ interpretiert werden. Für diesen Fall muß mann dann ein <code><nowiki>{{#if: …}}</nowiki></code>-Konstrukt nehmen welches „“-Werte dann als FALSE oder „nicht gesezt“ korrekt interpretiert.
 +
 +
Ein Beispiel ohne beim Kommentieren versehentlich Leerzeichen einzufügen:
 +
<blockquote>
 +
<syntaxhighlight lang="html4strict">
 +
<!--
 +
------- Abschnitte kommentieren -------
 +
-->
 +
Wiki-Code
 +
<!--
 +
=======================================
 +
  Großer  Abschnitt kommentiert
 +
=======================================
 +
--><!--
 +
  (start#switch) test
 +
  -->{{#switch: {{{zu testende Vorlagenvariable}}}
 +
    | Prüfwert = gebe zurück
 +
    | {{{V-Variable_1|}}}{{{V-Variable_2|}}} = gebe zurück
 +
    | gebe zurück Voreinstellung
 +
    }}<!-- (end#switch)
 +
  -->
 +
</syntaxhighlight>
 +
</blockquote>
 +
 +
Als Parameter funktionieren auch Berechnungen mit <nowiki>{{#expr: <ausdruck>}}</nowiki>:
 +
<nowiki>Folgende {{PLURAL:$1|Seite ist|$1 Seiten sind}} in dieser Kategorie enthalten:</nowiki>
 +
 +
<nowiki>{{#expr:  }}</nowiki>
 +
<nowiki>{{#ifexpr: 1 | is anything but zero | is 0}}</nowiki>
 +
<nowiki>{{#ifexpr: 2 < 5 | <!-- :true --> | <!-- :false -->}}</nowiki>
 +
<nowiki>{{#ifexist: Seitenname | <!-- exists --> | <!-- non existing -->}}</nowiki>
 +
 +
Prüfe ob Wert eine Zahl oder keine Zahl:
 +
<syntaxhighlight lang="html4strict">
 +
{{#iferror: {{#expr: {{{Wert als Zahl oder Text|}}} + 0 }}<!--
 +
keine Zahl
 +
-->|{{{Wert als Zahl oder Text|}}}<!--
 +
ist Zahl
 +
-->|{{{Wert als Zahl oder Text|}}}
 +
}}
 +
</syntaxhighlight>
 +
 +
<nowiki>{{#if: {{{content|}}} | <!-- (content:true) ... --> | <!-- (content:false) ...-->}}</nowiki>
 +
<nowiki>{{#if: {{{1|}}} | <!-- (1:true) ... --> | <!-- (1:false) ...-->}}</nowiki>
 +
<nowiki>{{#ifeq: string 1 | string 2 | true | false }}</nowiki>
 +
 +
<nowiki>{{#switch:{{CONTENTLANGUAGE}}|#default=english...|de|de-formal|de-ch|de-at=deutsch...}}</nowiki>
 +
<nowiki>{{#switch:{{#var:var-name}}|#default=...|0|1=...}}</nowiki>
 +
 +
<nowiki>{{#var:var-name}}</nowiki>
 +
<nowiki>{{#vardefine:index|{{#expr:{{#var:index}}+1}}}}</nowiki> +1 dazuaddieren
 +
<nowiki>{{#if:{{#varexists:index}}|{{#vardefine:index|{{#expr:{{#var:index}}+1}}}}|{{#vardefine:index|1}}}}</nowiki>
 +
<nowiki>{{#vardefine:var-name|var-value}}</nowiki>
 +
 +
<nowiki>{{lc:MACHE KleIN}}</nowiki> {{lc:MACHE KleIN}}
 +
<nowiki>{{uc:mache groß}}</nowiki> {{uc:mache groß}}
 +
<nowiki>{{urlencode:Meine ÜRL}}</nowiki> {{urlencode:Meine ÜRL}}
 +
<nowiki>{{anchorencode:Meine Änchors}}</nowiki> {{anchorencode:Meine Änchors}}
 +
<nowiki>{{#titleparts:  Open Source Ecology Germany/Unterstützen | 1 }}</nowiki>  Open Source Ecology Germany
 +
 +
<nowiki>{{#arraymap:eins, zwei|,|<!-- temp-Variable -->§|<!-- Ausgabe temp-Variable -->§|<!-- neuer Trenner -->&amp;#32;•&amp;#32;}}</nowiki> → {{#arraymap:eins, zwei|,|§|§|&#32;•&#32;}}
 +
 +
Extrahiere Zeichenfolgen:
 +
Test auf „:“ <span style="color:#8B0000"><nowiki>{{</nowiki></span>#sub:…|0<!-- sub:start-pos -->|<nowiki>{{</nowiki>#pos:…|<span style="color:red;">:</span>|0}}<!-- sub:end-pos --><span style="color:#8B0000">}}</span>
 +
#rpos → -1 wenn nichts gefunden
 +
#pos  → (leer) wenn nichts gefunden
 +
<nowiki>{{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |1}}</nowiki> → {{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |1}}
 +
<nowiki>{{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |-1}}</nowiki> → {{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |-1}}
 +
 +
=== Variablen ===
 +
 +
Siehe auch http://www.mediawiki.org/wiki/Help:Magic_words/de#Parser-Funktionen
 +
 +
<nowiki>__NOTOC__</nowiki>
 +
<nowiki>__TOC__</nowiki>
 +
 +
<nowiki>{{fullurl:Category:Top level|action=edit}}</nowiki> {{fullurl:Category:Top level|action=edit}}
 +
<nowiki>{{localurl:Category:Top level|action=render}}</nowiki>  {{localurl:Category:Top level|action=render}}
 +
<nowiki>{{filepath:Silhouettes_of_ferns.svg|nowiki}}</nowiki> {{filepath:Silhouettes_of_ferns.svg|nowiki}}
 +
<nowiki>{{filepath:Silhouettes_of_ferns.svg}}</nowiki> {{filepath:Silhouettes_of_ferns.svg}}
 +
<nowiki>{{#titleparts:  {{TALKPAGENAME}}| 1 }}</nowiki>    {{#titleparts:  {{TALKPAGENAME}}| 1 }}
 +
<nowiki>{{#titleparts:  {{FULLPAGENAME}}| 1 }}</nowiki>    {{#titleparts:  {{FULLPAGENAME}}| 1 }}
 +
<nowiki>{{#titleparts: {{FULLPAGENAME}} | <!-- wieviel /Titel/Titel/ --> 2 | <!-- welchen /Titel/Titel/ --> 2 }}</nowiki>
 +
<nowiki>{{int:edit}}</nowiki>:      {{int:edit}} (Systemnachrichten in )
 +
<nowiki>{{SITENAME}}</nowiki>:      {{SITENAME}}
 +
<nowiki>{{SERVERNAME}}</nowiki>:    {{SERVERNAME}}
 +
<nowiki>{{FULLPAGENAME}}</nowiki>:  {{FULLPAGENAME}}
 +
<nowiki>{{PAGENAME}}</nowiki>:      {{PAGENAME}}
 +
<nowiki>{{BASEPAGENAME}}</nowiki>:  {{BASEPAGENAME}}
 +
<nowiki>{{TALKPAGENAME}}</nowiki>:  {{TALKPAGENAME}}
 +
<nowiki>{{TALKSPACE}}</nowiki>:    {{TALKSPACE}}
 +
<nowiki>{{ARTICLESPACE}}</nowiki>:  {{ARTICLESPACE}}
 +
<nowiki>{{SUBPAGENAME}}</nowiki>:  {{SUBPAGENAME}}
 +
 +
<nowiki>{{Special:Allpages/Hilfe:}}</nowiki> (Alle Hilfeseiten)
 +
 +
<nowiki>{{ns:Media}}</nowiki>:          {{ns:Media}}
 +
<nowiki>{{ns:Special}}</nowiki>:        {{ns:Special}}
 +
<nowiki>{{ns:Talk}}</nowiki>:          {{ns:Talk}}
 +
<nowiki>{{ns:User}}</nowiki>:          {{ns:User}}
 +
<nowiki>{{ns:User_talk}}</nowiki>:      {{ns:User_talk}}
 +
<nowiki>{{ns:Project}}</nowiki>:        {{ns:Project}}
 +
<nowiki>{{ns:Project_talk}}</nowiki>:  {{ns:Project_talk}}
 +
<nowiki>{{ns:Image}}</nowiki>:          {{ns:Image}}
 +
<nowiki>{{ns:Image_talk}}</nowiki>:    {{ns:Image_talk}}
 +
<nowiki>{{ns:MediaWiki}}</nowiki>:      {{ns:MediaWiki}}
 +
<nowiki>{{ns:MediaWiki_talk}}</nowiki>: {{ns:MediaWiki_talk}}
 +
<nowiki>{{ns:Template}}</nowiki>:      {{ns:Template}}
 +
<nowiki>{{ns:Template_talk}}</nowiki>:  {{ns:Template_talk}}
 +
<nowiki>{{ns:Help}}</nowiki>:          {{ns:Help}}
 +
<nowiki>{{ns:Help_talk}}</nowiki>:      {{ns:Help_talk}}
 +
<nowiki>{{ns:Category}}</nowiki>:      {{ns:Category}}
 +
<nowiki>{{ns:Category_talk}}</nowiki>:  {{ns:Category_talk}}
 +
 +
 +
<div style="page-break-before:always;"></div>
 +
 +
=== Gadgets/Helferlein ===
 +
 +
Siehe auf [https://www.mediawiki.org/wiki/Extension:Gadgets der englischen Dokumentationsseite von Extension:Gadgets]
 +
 +
  [[MediaWiki:Gadget-AddProgrammingToolbar|MediaWiki:Gadget-''AddProgrammingToolbar'']]
 +
    Hinweistext
 +
  [[MediaWiki:Gadget-AddProgrammingToolbar.js|MediaWiki:Gadget-''AddProgrammingToolbar''.js]]
 +
    JavaScript
 +
  [[MediaWiki:Gadget-AddProgrammingToolbar.css|MediaWiki:Gadget-''AddProgrammingToolbar''.css]]
 +
    CSS eventuell
 +
 +
  [[MediaWiki:Gadgets-definition]]
 +
    Alle Definitionen: was wo + welche Skripte + MeinDefinierterAbschnitt
 +
    ''AddProgrammingToolbar''[ResourceLoader]|''AddProgrammingToolbar''.js
 +
    …
 +
    ''AddProgrammingToolbar''[ResourceLoader]|''AddProgrammingToolbar''.css|''AddProgrammingToolbar''.js
 +
 +
  [[MediaWiki:Gadget-section-MeinDefinierterAbschnitt]]
 +
  → "Benutzte Überschrift"
 +
 +
== Pfeile/Sonderzeichen ==
 +
 +
 +
<table class="grid" width="100%">
 +
  <tr>
 +
    <th></th>
 +
    <th>0x00</th>
 +
    <th>0x01</th>
 +
    <th>0x02</th>
 +
    <th>0x03</th>
 +
    <th>0x04</th>
 +
    <th>0x05</th>
 +
    <th>0x06</th>
 +
    <th>0x07</th>
 +
    <th>0x08</th>
 +
    <th>0x09</th>
 +
    <th>0x0A</th>
 +
    <th>0x0B</th>
 +
    <th>0x0C</th>
 +
    <th>0x0D</th>
 +
    <th>0x0E</th>
 +
    <th>0x0F</th>
 +
  </tr>
 +
<tr>
 +
  <th>0x2190</th>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW' (U+2190)">←</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS ARROW' (U+2191)">↑</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW' (U+2192)">→</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ARROW' (U+2193)">↓</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT ARROW' (U+2194)">↔</span></td>
 +
  <td><span title="Unicode Character 'UP DOWN ARROW' (U+2195)">↕</span></td>
 +
  <td><span title="Unicode Character 'NORTH WEST ARROW' (U+2196)">↖</span></td>
 +
  <td><span title="Unicode Character 'NORTH EAST ARROW' (U+2197)">↗</span></td>
 +
  <td><span title="Unicode Character 'SOUTH EAST ARROW' (U+2198)">↘</span></td>
 +
  <td><span title="Unicode Character 'SOUTH WEST ARROW' (U+2199)">↙</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW WITH STROKE' (U+219A)">↚</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW WITH STROKE' (U+219B)">↛</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS WAVE ARROW' (U+219C)">↜</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS WAVE ARROW' (U+219D)">↝</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS TWO HEADED ARROW' (U+219E)">↞</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS TWO HEADED ARROW' (U+219F)">↟</span></td>
 +
</tr>
 +
<tr>
 +
  <th>0x21a0</th>
 +
  <td><span title="Unicode Character 'RIGHTWARDS TWO HEADED ARROW' (U+21A0)">↠</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS TWO HEADED ARROW' (U+21A1)">↡</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW WITH TAIL' (U+21A2)">↢</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW WITH TAIL' (U+21A3)">↣</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW FROM BAR' (U+21A4)">↤</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS ARROW FROM BAR' (U+21A5)">↥</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW FROM BAR' (U+21A6)">↦</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ARROW FROM BAR' (U+21A7)">↧</span></td>
 +
  <td><span title="Unicode Character 'UP DOWN ARROW WITH BASE' (U+21A8)">↨</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW WITH HOOK' (U+21A9)">↩</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW WITH HOOK' (U+21AA)">↪</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW WITH LOOP' (U+21AB)">↫</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW WITH LOOP' (U+21AC)">↬</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT WAVE ARROW' (U+21AD)">↭</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT ARROW WITH STROKE' (U+21AE)">↮</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ZIGZAG ARROW' (U+21AF)">↯</span></td>
 +
</tr>
 +
<tr>
 +
  <th>0x21b0</th>
 +
  <td><span title="Unicode Character 'UPWARDS ARROW WITH TIP LEFTWARDS' (U+21B0)">↰</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS ARROW WITH TIP RIGHTWARDS' (U+21B1)">↱</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ARROW WITH TIP LEFTWARDS' (U+21B2)">↲</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ARROW WITH TIP RIGHTWARDS' (U+21B3)">↳</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW WITH CORNER DOWNWARDS' (U+21B4)">↴</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ARROW WITH CORNER LEFTWARDS' (U+21B5)">↵</span></td>
 +
  <td><span title="Unicode Character 'ANTICLOCKWISE TOP SEMICIRCLE ARROW' (U+21B6)">↶</span></td>
 +
  <td><span title="Unicode Character 'CLOCKWISE TOP SEMICIRCLE ARROW' (U+21B7)">↷</span></td>
 +
  <td><span title="Unicode Character 'NORTH WEST ARROW TO LONG BAR' (U+21B8)">↸</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR' (U+21B9)">↹</span></td>
 +
  <td><span title="Unicode Character 'ANTICLOCKWISE OPEN CIRCLE ARROW' (U+21BA)">↺</span></td>
 +
  <td><span title="Unicode Character 'CLOCKWISE OPEN CIRCLE ARROW' (U+21BB)">↻</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS HARPOON WITH BARB UPWARDS' (U+21BC)">↼</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS HARPOON WITH BARB DOWNWARDS' (U+21BD)">↽</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS HARPOON WITH BARB RIGHTWARDS' (U+21BE)">↾</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS HARPOON WITH BARB LEFTWARDS' (U+21BF)">↿</span></td>
 +
</tr>
 +
<tr>
 +
  <th>0x21c0</th>
 +
  <td><span title="Unicode Character 'RIGHTWARDS HARPOON WITH BARB UPWARDS' (U+21C0)">⇀</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS HARPOON WITH BARB DOWNWARDS' (U+21C1)">⇁</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS HARPOON WITH BARB RIGHTWARDS' (U+21C2)">⇂</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS HARPOON WITH BARB LEFTWARDS' (U+21C3)">⇃</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW OVER LEFTWARDS ARROW' (U+21C4)">⇄</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW' (U+21C5)">⇅</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW OVER RIGHTWARDS ARROW' (U+21C6)">⇆</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS PAIRED ARROWS' (U+21C7)">⇇</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS PAIRED ARROWS' (U+21C8)">⇈</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS PAIRED ARROWS' (U+21C9)">⇉</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS PAIRED ARROWS' (U+21CA)">⇊</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON' (U+21CB)">⇋</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON' (U+21CC)">⇌</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS DOUBLE ARROW WITH STROKE' (U+21CD)">⇍</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT DOUBLE ARROW WITH STROKE' (U+21CE)">⇎</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS DOUBLE ARROW WITH STROKE' (U+21CF)">⇏</span></td>
 +
</tr>
 +
<tr>
 +
  <th>0x21d0</th>
 +
  <td><span title="Unicode Character 'LEFTWARDS DOUBLE ARROW' (U+21D0)">⇐</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS DOUBLE ARROW' (U+21D1)">⇑</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS DOUBLE ARROW' (U+21D2)">⇒</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS DOUBLE ARROW' (U+21D3)">⇓</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT DOUBLE ARROW' (U+21D4)">⇔</span></td>
 +
  <td><span title="Unicode Character 'UP DOWN DOUBLE ARROW' (U+21D5)">⇕</span></td>
 +
  <td><span title="Unicode Character 'NORTH WEST DOUBLE ARROW' (U+21D6)">⇖</span></td>
 +
  <td><span title="Unicode Character 'NORTH EAST DOUBLE ARROW' (U+21D7)">⇗</span></td>
 +
  <td><span title="Unicode Character 'SOUTH EAST DOUBLE ARROW' (U+21D8)">⇘</span></td>
 +
  <td><span title="Unicode Character 'SOUTH WEST DOUBLE ARROW' (U+21D9)">⇙</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS TRIPLE ARROW' (U+21DA)">⇚</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS TRIPLE ARROW' (U+21DB)">⇛</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS SQUIGGLE ARROW' (U+21DC)">⇜</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS SQUIGGLE ARROW' (U+21DD)">⇝</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS ARROW WITH DOUBLE STROKE' (U+21DE)">⇞</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ARROW WITH DOUBLE STROKE' (U+21DF)">⇟</span></td>
 +
</tr>
 +
<tr>
 +
  <th>0x21e0</th>
 +
  <td><span title="Unicode Character 'LEFTWARDS DASHED ARROW' (U+21E0)">⇠</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS DASHED ARROW' (U+21E1)">⇡</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS DASHED ARROW' (U+21E2)">⇢</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS DASHED ARROW' (U+21E3)">⇣</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW TO BAR' (U+21E4)">⇤</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW TO BAR' (U+21E5)">⇥</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS WHITE ARROW' (U+21E6)">⇦</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS WHITE ARROW' (U+21E7)">⇧</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS WHITE ARROW' (U+21E8)">⇨</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS WHITE ARROW' (U+21E9)">⇩</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS WHITE ARROW FROM BAR' (U+21EA)">⇪</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS WHITE ARROW ON PEDESTAL' (U+21EB)">⇫</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR' (U+21EC)">⇬</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR' (U+21ED)">⇭</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS WHITE DOUBLE ARROW' (U+21EE)">⇮</span></td>
 +
  <td><span title="Unicode Character 'UPWARDS WHITE DOUBLE ARROW ON PEDESTAL' (U+21EF)">⇯</span></td>
 +
</tr>
 +
<tr>
 +
  <th>0x21f0</th>
 +
  <td><span title="Unicode Character 'RIGHTWARDS WHITE ARROW FROM WALL' (U+21F0)">⇰</span></td>
 +
  <td><span title="Unicode Character 'NORTH WEST ARROW TO CORNER' (U+21F1)">⇱</span></td>
 +
  <td><span title="Unicode Character 'SOUTH EAST ARROW TO CORNER' (U+21F2)">⇲</span></td>
 +
  <td><span title="Unicode Character 'UP DOWN WHITE ARROW' (U+21F3)">⇳</span></td>
 +
  <td><span title="Unicode Character 'RIGHT ARROW WITH SMALL CIRCLE' (U+21F4)">⇴</span></td>
 +
  <td><span title="Unicode Character 'DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW' (U+21F5)">⇵</span></td>
 +
  <td><span title="Unicode Character 'THREE RIGHTWARDS ARROWS' (U+21F6)">⇶</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW WITH VERTICAL STROKE' (U+21F7)">⇷</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW WITH VERTICAL STROKE' (U+21F8)">⇸</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT ARROW WITH VERTICAL STROKE' (U+21F9)">⇹</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE' (U+21FA)">⇺</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE' (U+21FB)">⇻</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE' (U+21FC)">⇼</span></td>
 +
  <td><span title="Unicode Character 'LEFTWARDS OPEN-HEADED ARROW' (U+21FD)">⇽</span></td>
 +
  <td><span title="Unicode Character 'RIGHTWARDS OPEN-HEADED ARROW' (U+21FE)">⇾</span></td>
 +
  <td><span title="Unicode Character 'LEFT RIGHT OPEN-HEADED ARROW' (U+21FF)">⇿</span></td>
 +
</tr>
 +
 +
</table>
 +
 +
⌜⌝⌞⌟
 +
⌌⌍⌎⌏ ⌢⌣
 +
┌┬─┐
 +
││ │
 +
├┼─┤
 +
└┴─┘
 +
 
[[Kategorie: Hilfe]]
 
[[Kategorie: Hilfe]]
 
[[Kategorie:Vorlagenprogrammierung]]
 
[[Kategorie:Vorlagenprogrammierung]]

Version vom 7. Juni 2018, 11:47 Uhr

Eine ausführliche Dokumentation über Vorlagen und deren Programmierung hält die Wikipedia bereit auf https://de.wikipedia.org/wiki/Hilfe:Vorlagen. Eine weitere Programmierhilfe findet sich in den     Einstellungen > Helferlein    , sie stellt für den Wiki-Editor das Ausklapp-Menü „Programmierung“ bereit.


Das folgenden Formular stellt zum Dokumentieren einer Vorlagen schon Abschnitte bereit und kann daher verwendet werden, um gut dokumentierte Vorlagen zu erstellen:


Tipps und Ideen

Oft ist es hilfreich Wiki-Code-Fragmente durchzuanalysieren, welche Ausgabe sie tatsächlich erzeugen. Verwende hierzu die Spezialseite Spezial:Vorlagen_expandieren.

Programmierung

Wiki Transklusion

Jede Seite mit {{:Seitentitel}}. Siehe http://www.mediawiki.org/wiki/Transclusion.

Funktionen

Verschachteln immer mit Einrücken benutzten aber ohne versehentlich Leerzeichen einzufügen:

····················
<!-- 

 description
  -->{{#if: …<!--  
  then-->|<!-- 
  else-->|
  }}<!-- if: end  -->
<!-- 

 Erklärung
  -->{{#if: …<!--  
  dann -->|<!-- 
  sonst-->|
  }}<!-- if: end  -->
····················

Hinweis: ifelse-Konstrukte können auch erreicht werden durch verschachteln von Vorlagen-Parametern, d.h. der äußere überschreibt den inneren Parameter:

<!-- 
die folgende Verschachtelung …
  -->{{{result|{{{scientific name|}}}}}}<!-- 

  … ist dasselbe wie …

  -->{{#if: {{{result|}}}<!--  
  dann -->|{{{result|}}}<!-- 
  sonst-->|{{{scientific name|}}}<!--
  -->}}<!-- 
-->

Jedoch funtioniert dies nicht wenn eine Vorlage leere Werte an eine zweite Vorlage weitergibt, weil selbst dann Werte mit „“ als „gesetzt“ interpretiert werden. Für diesen Fall muß mann dann ein {{#if: …}}-Konstrukt nehmen welches „“-Werte dann als FALSE oder „nicht gesezt“ korrekt interpretiert.

Ein Beispiel ohne beim Kommentieren versehentlich Leerzeichen einzufügen:

 <!--
------- Abschnitte kommentieren -------
 -->
 Wiki-Code
 <!--
=======================================
   Großer  Abschnitt kommentiert 
=======================================
 --><!-- 
  (start#switch) test
  -->{{#switch: {{{zu testende Vorlagenvariable}}}
     | Prüfwert = gebe zurück
     | {{{V-Variable_1|}}}{{{V-Variable_2|}}} = gebe zurück
     | gebe zurück Voreinstellung
     }}<!-- (end#switch)
  -->

Als Parameter funktionieren auch Berechnungen mit {{#expr: <ausdruck>}}:

Folgende {{PLURAL:$1|Seite ist|$1 Seiten sind}} in dieser Kategorie enthalten:
{{#expr:  }}
{{#ifexpr: 1 | is anything but zero | is 0}}
{{#ifexpr: 2 < 5 | <!-- :true --> | <!-- :false -->}}
{{#ifexist: Seitenname | <!-- exists --> | <!-- non existing -->}}

Prüfe ob Wert eine Zahl oder keine Zahl:

{{#iferror: {{#expr: {{{Wert als Zahl oder Text|}}} + 0 }}<!--
 keine Zahl
 -->|{{{Wert als Zahl oder Text|}}}<!--
 ist Zahl
 -->|{{{Wert als Zahl oder Text|}}}
}}
{{#if: {{{content|}}} | <!-- (content:true) ... --> | <!-- (content:false) ...-->}}
{{#if: {{{1|}}} | <!-- (1:true) ... --> | <!-- (1:false) ...-->}}
{{#ifeq: string 1 | string 2 | true | false }}

{{#switch:{{CONTENTLANGUAGE}}|#default=english...|de|de-formal|de-ch|de-at=deutsch...}}
{{#switch:{{#var:var-name}}|#default=...|0|1=...}}

{{#var:var-name}}
{{#vardefine:index|{{#expr:{{#var:index}}+1}}}} +1 dazuaddieren
{{#if:{{#varexists:index}}|{{#vardefine:index|{{#expr:{{#var:index}}+1}}}}|{{#vardefine:index|1}}}}
{{#vardefine:var-name|var-value}}

{{lc:MACHE KleIN}} mache klein
{{uc:mache groß}} MACHE GROSS
{{urlencode:Meine ÜRL}} Meine+%C3%9CRL
{{anchorencode:Meine Änchors}} Meine_.C3.84nchors
{{#titleparts:  Open Source Ecology Germany/Unterstützen | 1 }}  Open Source Ecology Germany

{{#arraymap:eins, zwei|,|<!-- temp-Variable -->§|<!-- Ausgabe temp-Variable -->§|<!-- neuer Trenner -->&#32;•&#32;}} → eins • zwei

Extrahiere Zeichenfolgen:

Test auf „:“ {{#sub:…|0|{{#pos:…|:|0}}}}
#rpos → -1 wenn nichts gefunden
#pos  → (leer) wenn nichts gefunden
{{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |1}} → erstes
{{#explode: Mein erstes zweites drittes Wort und ein Schlußwort| |-1}} → Schlußwort

Variablen

Siehe auch http://www.mediawiki.org/wiki/Help:Magic_words/de#Parser-Funktionen

__NOTOC__
__TOC__
{{fullurl:Category:Top level|action=edit}} //wiki.opensourceecology.de/index.php?title=Kategorie:Top_level&action=edit
{{localurl:Category:Top level|action=render}}  /index.php?title=Kategorie:Top_level&action=render
{{filepath:Silhouettes_of_ferns.svg|nowiki}} 
{{filepath:Silhouettes_of_ferns.svg}} 
{{#titleparts:  {{TALKPAGENAME}}| 1 }}     Hilfe Diskussion:Arbeiten und programmieren mit Vorlagen
{{#titleparts:  {{FULLPAGENAME}}| 1 }}     Hilfe:Arbeiten und programmieren mit Vorlagen
{{#titleparts: {{FULLPAGENAME}} | <!-- wieviel /Titel/Titel/ --> 2 | <!-- welchen /Titel/Titel/ --> 2 }}
{{int:edit}}:      Bearbeiten (Systemnachrichten in )
{{SITENAME}}:      Open Source Ecology - Germany
{{SERVERNAME}}:    wiki.opensourceecology.de
{{FULLPAGENAME}}:  Hilfe:Arbeiten und programmieren mit Vorlagen
{{PAGENAME}}:      Arbeiten und programmieren mit Vorlagen
{{BASEPAGENAME}}:  Arbeiten und programmieren mit Vorlagen
{{TALKPAGENAME}}:  Hilfe Diskussion:Arbeiten und programmieren mit Vorlagen
{{TALKSPACE}}:     Hilfe Diskussion
{{ARTICLESPACE}}:  Hilfe
{{SUBPAGENAME}}:   Arbeiten und programmieren mit Vorlagen
{{Special:Allpages/Hilfe:}} (Alle Hilfeseiten)
{{ns:Media}}:          Medium
{{ns:Special}}:        Spezial
{{ns:Talk}}:           Diskussion
{{ns:User}}:           Benutzer
{{ns:User_talk}}:      Benutzer Diskussion
{{ns:Project}}:        OSE
{{ns:Project_talk}}:   OSE Diskussion
{{ns:Image}}:          Datei
{{ns:Image_talk}}:     Datei Diskussion
{{ns:MediaWiki}}:      MediaWiki
{{ns:MediaWiki_talk}}: MediaWiki Diskussion
{{ns:Template}}:       Vorlage
{{ns:Template_talk}}:  Vorlage Diskussion
{{ns:Help}}:           Hilfe
{{ns:Help_talk}}:      Hilfe Diskussion
{{ns:Category}}:       Kategorie
{{ns:Category_talk}}:  Kategorie Diskussion


Gadgets/Helferlein

Siehe auf der englischen Dokumentationsseite von Extension:Gadgets

 MediaWiki:Gadget-AddProgrammingToolbar
   Hinweistext
 MediaWiki:Gadget-AddProgrammingToolbar.js
   JavaScript
 MediaWiki:Gadget-AddProgrammingToolbar.css
   CSS eventuell

 MediaWiki:Gadgets-definition
   Alle Definitionen: was wo + welche Skripte + MeinDefinierterAbschnitt
   AddProgrammingToolbar[ResourceLoader]|AddProgrammingToolbar.js
   …
   AddProgrammingToolbar[ResourceLoader]|AddProgrammingToolbar.css|AddProgrammingToolbar.js

 MediaWiki:Gadget-section-MeinDefinierterAbschnitt
  → "Benutzte Überschrift"

Pfeile/Sonderzeichen

0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0B 0x0C 0x0D 0x0E 0x0F
0x2190
0x21a0
0x21b0
0x21c0
0x21d0
0x21e0
0x21f0
⌜⌝⌞⌟
⌌⌍⌎⌏ ⌢⌣
┌┬─┐
││ │
├┼─┤
└┴─┘