Deprecated: Smarty_Internal_Method_GetTemplateVars::getTemplateVars(): Implicitly marking parameter $_ptr as nullable is deprecated, the explicit nullable type must be used instead in /homepages/41/d166645450/htdocs/NiftyCMS/NiftyCMS/core/smarty-4-3-4/libs/sysplugins/smarty_internal_method_gettemplatevars.php on line 34
Deprecated: Smarty_Internal_Method_GetTemplateVars::_getVariable(): Implicitly marking parameter $_ptr as nullable is deprecated, the explicit nullable type must be used instead in /homepages/41/d166645450/htdocs/NiftyCMS/NiftyCMS/core/smarty-4-3-4/libs/sysplugins/smarty_internal_method_gettemplatevars.php on line 87
Inhalt
Einfaches Templating mit Smarty
Templates sind HTML-Vorlagen die so genannte Token bzw. Template-Variablen nutzen, die von der Template-Engine zur Laufzeit mit realem Content gefüllt werden. NiftyCMS hat die leistungsstarke Template-Engine Smarty implementiert und ist damit dem dortigen Markup unterworfen.
Smarty Markup
Die Markup-Vorschrift für die Erstellung neuer und interessanter Layouts für Ihre Webseite, ist schematisch sehr einfach gehalten und sieht etwa so aus:
<html>
<head>
...
</head>
<body>
<h1> {$title} </h1>
<p> {$description} </p>
<p> {$content} </p>
<hr>
{$date} - {$author}
</body>
</html>
Grundsätzliche Markup-Syntax der Smarty Template-Engine
Inhalte die aus dem Beitrag in das Template gestellt werden sollen, müssen folglich mit {$...} formatiert werden.
Template-Dateien
Die eigentlichen HTML-Vorlagen (Templates) sind nichts anderes, als ganz normale HTML-Dokumente, bei denen alle Textstellen mit den oben genannten Tokens ersetzt werden. Die Template-Engine Smarty ersetzt alle diese Stellen zur Laufzeit mit den echten Beitragsinhalten.
Template-Dateien werden üblicherweise mit der Dateiextension
*.tplgespeichert. Die Extensiontplist zwar typisch für Smarty, jedoch nicht zwingend, denn die Extensionen*.txt,*.htmloder*.phpfunktionieren genau so gut. Nutzen Sie Editoren, wie beispielsweise Visual Code, dann kann dieser eine entsprechend farbliche Syntaxhervorhebung im Code aktivieren - dies ist jedoch von der gewählten Extension abhängig, daher ist es sinnvoll der Empfehlung zu folgen.
Weiterführende Links
Oliver Lohse - 2024-11-26

