| Vorhergehende ÜberarbeitungNächste Überarbeitung |
— | de:create:functions:html [17.02.2022 16:32] – admin |
---|
| ====== html() ====== |
| |
| ''void **html**(string //Text//)'' |
| |
| Gibt im Fragebogen HTML-Code aus. Damit können Texte ausgegeben oder Bilder eingebunden werden. Sinnvoller ist der Einsatz aber für Layout-Konstruktionen ([[:de:create:table-layout|Elemente nebeneinander platzieren]]). |
| |
| * //Text//\\ Der HTML-Code, der im Fragebogen angezeigt werden soll. |
| |
| |
| ===== HTML-Code einbinden ===== |
| |
| **Hinweis:** In aller Regel ist es sinnvoller, längeren HTML-Code als //Text// in einer Rubrik im **Fragenkatalog** anzulegen, und diesen dann an der gewünschten Stelle in den Fragebogen zu ziehen ([[:de:create:texts]]). |
| |
| <code php> |
| html('<h1>Willkommen!</h1>'); |
| html(' |
| <p>Zeilenumbrüche werden |
| in der Ausgabe ignoriert.</p> |
| '); |
| </code> |
| |
| |
| ===== HTML-Code und andere Elemente ===== |
| |
| Andere Elemente -- insbesondere Fragen und Textbausteine -- erzeugen ebenfalls HTML-Code. Man kann mittels ''html()'' davon und danach weiteren HTML-Code einfügen. So kann man z.B. eine Frage in ein anderes HTML-Element kapseln, um die Breite zu verändern: |
| |
| <code php> |
| html('<div style="max-width: 600px; margin: 0 auto;">'); |
| question('AB01'); |
| html('</div>'); |
| </code> |
| |
| Eine Anwendung dazu beschreibt die Anleitung [[:de:create:table-layout]]. |
| |
| |
| ===== Hinweise ===== |
| |
| **Tipp:** Verwenden Sie zum Einbinden von Texten, Bildern und längeren HTML-Codes besser Textbausteine. Diese werden unter **Textbausteine u. Beschriftung** erstelle und in den Fragebogen gezogen oder via ''[[:de:create:functions:text|text()]]'' in eine Fragebogen-Seite eingebunden. Dadurch bleibt der Fragebogen übersichtlicher, es stehen erweiterte Funktionen (z.B. mehrsprachige Fragebögen oder Platzhalter) zur Verfügung und man muss sich keine Sorgen um Anführungszeichen machen. |
| |
| **Hinweis:** Die PHP-Funktionen ''echo'' und ''print()'' sind für die Verwendung im Fragebogen nicht freigegeben, weil deren Ausgabe nicht im, sondern über dem Fragebogen erscheinen würde. Verwenden Sie stattdessen die Funktion ''html()''. |
| |
| **Hinweis:** Um in einem Text Anführungszeichen zu verwenden, die bereits als Textbegrenzer fungieren, müssen die Anführungszeichen durch einen Backslash (''\'') entwertet werden. Dann werden sie nicht mehr als Textbegrenzer erkannt und korrekt dargestellt. |
| |
| <code php> |
| html('<p>Dieser HTML-Code beinhaltet "doppelte Anführungszeichen".</p>'); |
| html("<p>Und "dieser" ebenfalls.</p>"); |
| html('<p>So klappt\'s mit einfachen Anführungszeichen</p>'); |
| </code> |
| |
| <code php> |
| html('<h1>Hallo Welt!</h1>'); // Einfache Anführungszeichen |
| html("<h1>Hallo Welt!</h1>"); // Doppelte Anführungszeichen |
| html('<h1>Hallo "Welt"</h1>'); // Richtig |
| html("<h1>Hallo "Welt"</h1>"); // Noch richtiger |
| html("<h1>Hallo "Welt"</h1>"); // FALSCH, weil der String durch doppelte |
| // Anführungszeichen markiert wird und |
| // doppelte Anführungszeichen darin vorkommen. |
| // Verteilen des Strings aus mehrere Zeilen - oft sinnvoll |
| // Aber meistens ist hier text() noch viel sinnvoller |
| html(' |
| <h1>Hallo Welt!</h1> |
| <p>Wie geht es dir, Welt?</p> |
| '); |
| </code> |