|
Smarty
WARNING: All discussion is moving to https://reddit.com/r/smarty, please go there! This forum will be closing soon. |
|
View previous topic :: View next topic |
Author |
Message |
klausi89 Smarty n00b
Joined: 13 Nov 2016 Posts: 1
|
Posted: Sun Nov 13, 2016 12:08 am Post subject: php in .tpl |
|
|
Hallo ich bin völlig neu im Umgang mit Smarty
und zwar möchte ich gerne meine Navbar beibehalten.
Diese ist nach diesem Schema aufgebaut:
if($link1 == "on"){
echo '<li class="activated"><a href="/link1/index.php">Bitcoin</a></li>';
}
else {
echo '<li class="activated"><a href="/">Link1</a></li>';
}
if($link2 == "on"){
echo '<li class="activated"><a href="/link2/index.php">Link2</a></li>';
}
else {
echo '<li class="activated"><a href="/">Link2</a></li>';
}
in meiner .tpl
Datei hab ich nur {$navbar} rein
allerdings bekomme ich das nicht hin das es auch angezeigt wird.
assign , display ist mir im moment noch etwas schleierhaft.....
Hoffe es könnte mir bitte mal jemand helfen
Gruß |
|
Back to top |
|
Grizzly Smarty Pro
Joined: 15 Apr 2011 Posts: 172 Location: Germany
|
Posted: Tue Nov 15, 2016 7:14 am Post subject: |
|
|
Hallo,
erstmals, willkommen im Forum.
Ich würde dich bitten den Code-Tag des Forums zu verwenden, da man das ganze sonst schlecht lesen kann...
Nun zu deiner Frage. Wenn du Smarty verwendest, brauchst du kein echo zu verwenden. Alles was du in deiner PHP-Datei gemacht hast, kannst nun auch direkt in der TPL-Datei machen.
Display bedeutet so viel wie "Zeige/Lade/Rendere mir folgende TPL-Datei"
Assign bedeutet (wo wie es heißt) zuweisung einer Variable und ist eben mit dem folgendem PHP Code zu verstehen
Alles was du in die Assign Methode einfügst wird dann im Template als Variable zur Verfügung gestellt. Bei dir müsstest du also deine Variablen ($link1 und $link2) am besten in Arrays speichern (oder etwas ähnlichem) und dann mit einer [url='http://www.smarty.net/docs/en/language.function.foreach.tpl']foreach[/url] das ganze durchgehen. Dabei musst du nur in die TPL dein <li> eingeben.
Beispiel (ungetestet):
PHP Code:
Code: |
$smarty->assign('Links', array(
array('Url' => '/link1/index.php',
'Title' => 'Bitcoin'),
array('Url' => '/link2/index.php',
'Title' => 'Link2')
));
|
Dann machst du eben dein Display:
Code: | $smarty->display("DeinTplFile.tpl"); |
und dann steht dir in deiner Template Datei die Variable "Links" (siehe oben in assign-Methode) zur Verfügung. In dein Template schmeißt du nun folgendes rein:
Code: |
<ul>
{foreach $Links as $linkItem}
<li class="activated"><a href="{$linkItem.Url}">{$linkItem.Title}</li>
{/foreach}
</ul>
|
|
|
Back to top |
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|