Hallo,
ich möchte eine Templatedatei Variablenangepasst ausgeben, damit ich nicht mehrere Varianten schreiben muss.
etwa so:
wenn {Text1} und {Text2} nicht leer sind:
<div><a>{Text1}</a><a>{Text2}</a></div>
wenn {Text1}, {Text2} und {Text3} nicht leer sind:
<div><a>{Text1}</a><a>{Text2}</a><br><span class="info">{Text3}</span></div>
wenn {Text1}, {Text2}, {Text3} und {Text4} nicht leer sind:
....
Vielen Dank schon mal,
Horst
Howto: Modultemplate Varablenangepasst ausgeben
Howto: Modultemplate Varablenangepasst ausgeben
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: Howto: Modultemplate Varablenangepasst ausgeben
Hallo Horst1234,
das geht nur über die Smarty-Template-Routine im Modul selbst, nicht über die bis 4.8 einzubindenden HTML-Templates.
In Smarty sieht die verschachtelung der if-Codestruktur ungefähr so aus für zu übergebende Variablen:
Wichtig ist, dass direkt HINTER den geschwungenen öffnenden Klammern KEINE Leerzeichen stehen dürfen bei den Anweisungen, sonst geht das in die Hose.
Feinheiten gibts unter http://www.smarty.net/docsv2/de/languag ... ion.if.tpl
LG
das geht nur über die Smarty-Template-Routine im Modul selbst, nicht über die bis 4.8 einzubindenden HTML-Templates.
In Smarty sieht die verschachtelung der if-Codestruktur ungefähr so aus für zu übergebende Variablen:
Code: Alles auswählen
{if $Text1 != "" and $Text2 != "" }
<div><a>{$Text1}</a><a>{$Text2}</a></div>
{elseif $Text1 != "" and $Text2 != "" and $Text3 != ""}
<div><a>{$Text1}</a><a>{$Text2}</a><br><span class="info">{$Text3}</span></div>
{else}
<div>{$Text4}</div>
{/if}
Feinheiten gibts unter http://www.smarty.net/docsv2/de/languag ... ion.if.tpl
LG
Re: Howto: Modultemplate Varablenangepasst ausgeben
Hallo Homtata,
Der Templatecode ist recht umfangreich, ich würde ihn gern aus dem Modul raushalten.
gibt es den die Möglichkeit, verschiedene Templates (get1.tpl, get2.tpl, get3.tpl) anzusteuern.
Im meinem Modul steht derzeit (verkürzt):
Kann ich die letzte Zeil mit solch einer if-elseif-else Abfrage verbinden?
Wie wäre da der Code?
lieben Dank,
Horst
Der Templatecode ist recht umfangreich, ich würde ihn gern aus dem Modul raushalten.
gibt es den die Möglichkeit, verschiedene Templates (get1.tpl, get2.tpl, get3.tpl) anzusteuern.
Im meinem Modul steht derzeit (verkürzt):
Code: Alles auswählen
defined('CON_FRAMEWORK') || die('Illegal call: Missing framework initialization - request aborted.');
$text1 = "CMS_HTML[201]";
$text2 = "CMS_HTML[202]";
$text3 = "CMS_HTML[203]";
$text4 = "CMS_HTML[204]";
$tpl = cSmartyFrontend::getInstance();
$tpl->assign('text1', $text1);
$tpl->assign('text2', $text2);
$tpl->assign('text3', $text3);
$tpl->assign('text4', $text4);
$tpl->display('get.tpl');
Wie wäre da der Code?
lieben Dank,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de
Re: Howto: Modultemplate Varablenangepasst ausgeben
Hallo Horst,
der von mir genannte Code gehört NICHT in den Modulausgabebereich, sondern in die get.tpl (!).
Anders als die alten html-Templates erlaubt Smarty hier nämlich auch Abfragen-Steuerungen.
Selbstverständlich kannst du für manche Fälle auch in der Modulausgabe verschiedene tpl-Dateien ansteuern, falls nötig. Diese tpl-Dateien lassen sich in der Modulnavigation unter "HTML" anlegen und benennen.
Die Modulverzweigung lautet beispielsweise dann ganz einfach:
der von mir genannte Code gehört NICHT in den Modulausgabebereich, sondern in die get.tpl (!).
Anders als die alten html-Templates erlaubt Smarty hier nämlich auch Abfragen-Steuerungen.
Selbstverständlich kannst du für manche Fälle auch in der Modulausgabe verschiedene tpl-Dateien ansteuern, falls nötig. Diese tpl-Dateien lassen sich in der Modulnavigation unter "HTML" anlegen und benennen.
Die Modulverzweigung lautet beispielsweise dann ganz einfach:
Code: Alles auswählen
if ( $a == 1 ) { $tpl->display('get.tpl'); } else { $tpl->display('variante2.tpl'); }
Re: Howto: Modultemplate Varablenangepasst ausgeben
Hallo Homtata,
super, das war's!!
Vielen Dank aus Bremen,
Horst
super, das war's!!
Vielen Dank aus Bremen,
Horst
Webdesign | Contenido: Templateprogrammierung, Einrichtung und Verwaltung | http://www.w2media.de