november 4, 2022
Alle de ting, du aldrig kan huske, hvordan man gør i Smarty 😎
–
Som Shoporama udvikler har man tit brug for “string replace” eller “check om det er sidste element i loopet” og kan ikke lige huske, hvordan det laves i Smarty.
Derfor har jeg lavet dette mini-opslagsværk til de ting, der er nifty, men som man ikke bruger så ofte og derfor ikke lige kan huske på rygraden.
Bemærk du kan finde en liste over alle variabler i et Smarty tema her.
Antal i et array
Du har et array – måske af produkter. Du vil gerne kende antallet. Gøres med @count. Hvis dit array er $products på f.eks. en categori, så får du det ved
<{$products|@count}>
Søg og erstat
Du har en string ($description) og vil lave søg erstat på den. Du vil erstatte [AMOUNT] med 23 Det gør du således:
<{$description|replace:'[AMOUNT]':'23'}>
Explode
Når du vil splitte en streng ved f.eks. mellemrum eller pipe. Man tager først det tegn, man vil splittet. Så |explode:$høstakken
<{assign var="temp" value=" "|explode:$order->getOrderName()}>
Tjek om det er en admin, der er på siden
For at se, om det er en Shoporama admin, der er på siden, kan du bruge denne if sætning.
<{if $cookie.user_token}> <{/if}>
Den aktuelle URL
Du får den aktuelle URL ved at bruge variablen $current_url
Sidste element i et loop / section
Du looper et array af produkter. Du vil tjekke på, om det er sidste element. Det gør du med last sådan her.
<{section name=i loop=$products}> <{if $smarty.i.first}> <p>Dette er første element</p> <{/if}> <{if $smarty.i.last}> <p>Dette er sidste element</p> <{/if}> <{/section}>