Revision d493cf69
Von Moritz Bunkus vor etwa 18 Jahren hinzugefügt
doc/dokumentenvorlagen-und-variablen.html | ||
---|---|---|
85 | 85 |
Blöcke, bedingte Anweisungen und Schleifen</a> |
86 | 86 |
|
87 | 87 |
<ol> |
88 |
<li><a href="dokumentenvorlagen-und-variablen.html#bloecke_einschr_latex"> |
|
89 |
Einschänkungen für Blöcke in LaTeX-Vorlagen</a></li> |
|
90 |
|
|
91 |
<li><a href="dokumentenvorlagen-und-variablen.html#bloecke_einschr_opendocument"> |
|
92 |
Einschänkungen für Blöcke in OpenDocument-Vorlagen</a></li> |
|
93 |
|
|
94 |
<li><a href="dokumentenvorlagen-und-variablen.html#bloecke_include"> |
|
95 |
Die <code>include</code>-Anweisung</a></li> |
|
96 |
|
|
97 | 88 |
<li><a href="dokumentenvorlagen-und-variablen.html#bloecke_ifnot"> |
98 | 89 |
Der <code>if not</code>-Block</a></li> |
99 | 90 |
|
... | ... | |
693 | 684 |
gesondert behandelt werden. Diese sind wie Variablennamen in spezieller |
694 | 685 |
Weise markiert: <code><%anweisung%></code></p> |
695 | 686 |
|
696 |
<h3><a name="bloecke_einschr_latex"> |
|
697 |
Einschänkungen für Blöcke in LaTeX-Vorlagen</a></h3> |
|
698 |
|
|
699 |
<p>Achtung: Blöcke können in LaTeX-Vorlagen momentan nicht |
|
700 |
verschachtelt werden. Das bedeutet, dass innerhalb einer |
|
701 |
<code><%foreach%></code>-Schleife keine |
|
702 |
<code><%if%></code>-Abfragen verwendet werden können. Dieses |
|
703 |
kann man aber mit LaTeX-Bordmitteln selber nachgebildet werden. Dazu muss |
|
704 |
im Vorspann das Paket <code>ifthen</code> eingebunden werden. Das Konstrukt |
|
705 |
selber sieht dann wie folgt aus:</p> |
|
706 |
|
|
707 |
<p class="blue"><code>\ifthenelse{\equal{<%variable%>}{}}{}{Dieser |
|
708 |
Text erscheint nur, wenn <%variable%> nicht leer ist.}</code></p> |
|
709 |
|
|
710 |
<h3><a name="bloecke_einschr_opendocument"> |
|
711 |
Einschänkungen für Blöcke in OpenDocument-Vorlagen</a></h3> |
|
712 |
|
|
713 |
<p>Die eben erwähnten Einschränkungen für |
|
714 |
LaTeX-Vorlagen gelten in abgeschwächter Form auch für |
|
715 |
OpenDocument-Vorlagen. Auch bei OpenDocument-Vorlagen können |
|
716 |
Blöcke nicht verschachtelt werden. Einzige Ausnahme ist, dass |
|
717 |
<code><if></code> und |
|
718 |
<code><ifnot></code>-Blöcke innerhalb von |
|
719 |
<code><foreach></code>-Blöcken auftreten |
|
720 |
dürfen.</p> |
|
721 |
|
|
722 |
<h3><a name="bloecke_include">Die <code>include</code>-Anweisung</a></h3> |
|
723 |
|
|
724 |
<p class="blue"><code><%include dateiname.ext%></code></p> |
|
725 |
|
|
726 |
<p>Dieser Block funktioniert nur in LaTeX- und HTML-Vorlagen.</p> |
|
727 |
|
|
728 |
<p>Fügt den Inhalt einer Datei an der entsprechenden Stelle ein. Der |
|
729 |
eingefügte Text wird ganz normal durch den Parser behandelt und kann |
|
730 |
Variablen und Blöcke enthalten.</p> |
|
731 |
|
|
732 | 687 |
<h3><a name="bloecke_ifnot">Der <code>if not</code>-Block</a></h3> |
733 | 688 |
|
734 | 689 |
<p class="blue"><code><%if not variablenname%><br> |
735 | 690 |
...<br> |
736 |
<%end if></code></p>
|
|
691 |
<%end></code></p> |
|
737 | 692 |
|
738 | 693 |
<p>Eine normale "if-not-then"-Bedingung. Die Zeilen zwischen dem "if not" und |
739 | 694 |
dem "end" werden nur ausgegeben, wenn die Variable "variablenname" nicht |
... | ... | |
743 | 698 |
|
744 | 699 |
<p class="blue"><code><%if variablenname%><br> |
745 | 700 |
...<br> |
746 |
<%end if></code></p>
|
|
701 |
<%end></code></p> |
|
747 | 702 |
|
748 | 703 |
<p>Eine normale "if-then"-Bedingung. Die Zeilen zwischen dem "if" und dem |
749 | 704 |
"end" werden nur ausgegeben, wenn die Variable "variablenname" gesetzt und |
... | ... | |
753 | 708 |
|
754 | 709 |
<p class="blue"><code><%foreach variablenname%><br> |
755 | 710 |
...<br> |
756 |
<%end foreach></code></p>
|
|
711 |
<%end></code></p> |
|
757 | 712 |
|
758 | 713 |
<p>Fügt die Zeilen zwischen den beiden Anweisungen so oft ein, wie das |
759 | 714 |
Perl-Array der Variablen "variablenname" Elemente enthät. Dieses |
... | ... | |
771 | 726 |
Artikelnummer: <%number%><br> |
772 | 727 |
Beschreibung: <%description%><br> |
773 | 728 |
...<br> |
774 |
<%end foreach></code></p>
|
|
729 |
<%end></code></p> |
|
775 | 730 |
|
776 | 731 |
<p>Besonderheit in OpenDocument-Vorlagen: Tritt ein |
777 |
<code><foreach></code>-Blcok innerhalb einer Tabellenzelle
|
|
732 |
<code><foreach></code>-Block innerhalb einer Tabellenzelle
|
|
778 | 733 |
auf, so wird die komplette Tabellenzeile so oft wiederholt wie |
779 | 734 |
notwendig. Tritt er außerhalb auf, so wird nur der Inhalt |
780 |
zwischen <code><foreach></code> und <code><end |
|
781 |
foreach></code> wiederholt, nicht aber die komplette Zeile, in |
|
782 |
der er steht.</p> |
|
735 |
zwischen <code><foreach></code> und <code><end></code> |
|
736 |
wiederholt, nicht aber die komplette Zeile, in der er steht.</p> |
|
783 | 737 |
|
784 | 738 |
<h3><a name="bloecke_pagebreak">Der <code>pagebreak</code>-Block</a></h3> |
785 | 739 |
|
786 | 740 |
<p class="blue"><code><%pagebreak ZpZ ZeS ZzS%><br> |
787 | 741 |
...<br> |
788 |
<%end pagebreak%></code></p>
|
|
742 |
<%end></code></p> |
|
789 | 743 |
|
790 | 744 |
<p>Dieser Block existiert nur in LaTeX-Vorlagen.</p> |
791 | 745 |
|
Auch abrufbar als: Unified diff
Die Einschränkungen, dass Blöcke nicht verschachtelt werden dürfen, gilt nicht mehr.