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}>

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.