PDA

Shop Support News Archive - Shopbetreiber News -> Forum : Substr() Anruf Problem In .html Datei


ts24
13.12.2007, 13:32
In den Datei product_info_v1.html habe ich folgende Kode stehen.
Punkt 1 zeigt eine Produktname aber Punt 2 nicht die erste 10 vom Produktname .
Was vergesse ich oder mache ich nicht rnichtig?

<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td>
1={$PRODUCTS_NAME}

2={php} echo substr($PRODUCTS_NAME,1,10); {/php}</td>
</tr>
</table>

Mit truncate geht dies nicht;
Wenn ein Produktname anfangt mit POL dan bekommt die Kunde die Text "Sie bekommen ein GRATIS Produkt" zusehen.

{if (substr($PRODUCTS_NAME,0,3) = 'POL') } Sie bekommen ein GRATIS Produkt {/if}

dazze
13.12.2007, 13:36
''>ZITAT(ts24 @ Dec 13 2007, 13:32) 38755
In den Datei product_info_v1.html habe ich folgende Kode stehen.
Punkt 1 zeigt eine Produktname aber Punt 2 nicht die erste 10 vom Produktname .
Was vergesse ich oder mache ich nicht rnichtig?

<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td>
1={$PRODUCTS_NAME}

2={php} echo substr($PRODUCTS_NAME,1,10); {/php}</td>
</tr>
</table>
[/b]

Hi,

in php hast du nicht die Smarty-Variable des Templates zur Verfügung. Verwende besser die Smarty-Interne truncate funktion

http://smarty.php.net/manual/de/language.m...er.truncate.php (http://anonym.to/?http://smarty.php.net/manual/de/language.modifier.truncate.php)

ts24
13.12.2007, 13:44
Ich meinte folgendes, mit truncate geht dies nicht;
Wenn ein Produktname anfangt mit POL dan bekommt die Kunde dieser Text zusehen.

{if (substr($PRODUCTS_NAME,0,3) = 'POL') } Sie bekommen ein GRATIS Produkt {/if}

dazze
13.12.2007, 14:00
Das kannst du doch so machen.
Du kürzt erst mit truncate und schaust danach ob die variable == 'POL' ist.

mit der Smarty Funktion assign kannst du innerhalb des Templates Variablen definieren




{assign var="check" value=$PRODUCTS_NAME|truncate:3:""}
{if $check == 'POL'}
text
{/if}

ts24
13.12.2007, 14:33
Danke für deine Lösung. Es funktioniert.