Antwort #1 am: 19. September 2010, 10:06:32
Hallo Felix,
die Smarty Geschichte dient dazu PHP Code von HTML Code zu trennen.
Daher würde ich zumindest das <small> in jedem Fall ins Template packen.
Die Funktion sollte so sein:
function xtcFormatErsparnis
($pID, $sPrice, $pPrice, $format, $vpeStatus = 0) { if ($format) { if ($vpeStatus == 0) { $ersparnis = YOU_SAVE
.round(($pPrice-$sPrice) / $pPrice * 100,1).' % /'.$this->xtcFormat($pPrice-$sPrice, $format); } else { $ersparnis = ''; } return $ersparnis; }} Wenn Du es jetzt im Template haben willst musst Du sagen welchen Platzhalter Du haben möchtest und welche Funktion dahinter liegt.
Als Beispiel hier die "/includes/modules/product/product_info.php", dort gibst Du dann an:
$info_smarty->assign('PRODUCTS_SAVE', xtPrice->xtcFormatErsparnis(...));
Im Template "/templates/xtc5/module/product_info/product_info_v1.html" gibst Du dann nur noch an:
<small>{$PRODUCTS_SAVE}</small>
Besser wäre natürlich noch den Text "YOU_SAVE" ebenfalls auszulagern...
Viele Grüße
Franky