Antwort #2 am: 07. August 2017, 12:22:08
Hallo Tele09,
das funktioniert nicht, weil es die Smartyvariable
{$LOGIN_BOX} nicht gibt und weil Text aus dem Contentmanager in der Datenbank gespeichert wird welcher vom PHP-Interpreter als solcher während der Erstellung des HTML-Dokuments für den Browser aus der Datenbank geholt und an entsprechender Stelle im Dokument eingefügt wird, es findet also keine PHP-Interpretation an diesem Text mehr statt, ausser man verwendet die PHP-Funktion
eval bzw. seine für
Smarty entsprechende Syntax an der richtigen Stelle im Smarty-Template.
Beispiel:
Im Contentmanager in der Quellcode-Ansicht
{if isset($box_LOGIN)}{$box_LOGIN}{/if} einfügen und im 'templates/tpl_modified/index.html' alle Vorkommen (3mal) von
{$main_content}
mit
ersetzen.
Anmerkung:
Die Anmeldebox {$box_LOGIN} wird nur angezeigt, wenn man nicht angemeldet ist.
PS: Bitte folgendes Zitat von ->
hier beachten:
Achtung: Das eval()-Sprachkonstrukt ist sehr gefährlich, weil es die Ausführung von beliebigem PHP-Code erlaubt. Seine Verwendung wird daher nicht empfohlen. Wenn sorgfältig überprüft wurde, dass es keine andere Möglichkeit gibt als dieses Konstrukt zu verwenden, ist besonders darauf zu achten keine von Nutzern bereit gestellten Daten zu übergeben ohne diese zuvor ordnungsgemäß zu validieren.
Gruss
Hanspeter