% in der suche_liste

caos

Gut bekanntes Mitglied
17. Januar 2007
450
9
Ich probiere jetzt schon ein paar Minuten lang mit den % Nachlass in der suche_liste.tpl (Artikelübersicht) anzeigen zu lassen.

{$Artikel->Preise->rabatt}% funktioniert nicht und auch {$Artikel->SieSparenX->nProzent}% bringt mit nicht weiter. Hat einer ne Idee in welcher Variable der Wert steckt??
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.716
355
AW: % in der suche_liste

Ich probiere jetzt schon ein paar Minuten lang mit den % Nachlass in der suche_liste.tpl (Artikelübersicht) anzeigen zu lassen.

{$Artikel->Preise->rabatt}% funktioniert nicht und auch {$Artikel->SieSparenX->nProzent}% bringt mit nicht weiter. Hat einer ne Idee in welcher Variable der Wert steckt??

Lass dir mit {$Artikel|@debug_print_var} das ganze Objekt ausgeben, dann wirst es schon finden 🙂
 

caos

Gut bekanntes Mitglied
17. Januar 2007
450
9
AW: % in der suche_liste

hatte ich schon probiert nur finde ich nichts

{$Artikel->SieSparenX->nProzent}% wird in der artikel_inc verwendet und zeigt dort den % Nachlass an. In der suche_liste.tpl hat es aber einfach nicht hin.
 

martinwolf

Offizieller Service Partner
SPBanner
6. September 2012
3.716
355
AW: % in der suche_liste

hatte ich schon probiert nur finde ich nichts

{$Artikel->SieSparenX->nProzent}% wird in der artikel_inc verwendet und zeigt dort den % Nachlass an. In der suche_liste.tpl hat es aber einfach nicht hin.

Dann existiert dieses Objekt in der Liste noch nicht im Artikelobjekt. Mit folgendem Code kannst du das aber nachrüfsten:

functions.php des Templates (vorher Sicherung machen zwecks möglicher Updates) ergänzen:
Code:
$smarty->register_function("berechneSieSparenX", "berechneSieSparenX");
Code:
function berechneSieSparenX($params, &$smarty) {
    $Artikel = $params['Artikel'];
    if ($Artikel->fUVP > 0) {
        if (!isset($Artikel->SieSparenX)) {
            $Artikel->SieSparenX = new stdClass();
        }
        if ($_SESSION["Kundengruppe"]->nNettoPreise) {
            $Artikel->fUVP = $Artikel->fUVP / (1 + gibUst($Artikel->kSteuerklasse) / 100);

            $Artikel->SieSparenX->anzeigen = $anzeigen;
            $Artikel->SieSparenX->nProzent = round((($Artikel->fUVP - $Artikel->Preise->fVKNetto) * 100) / $Artikel->fUVP);
            $Artikel->SieSparenX->fSparbetrag = $Artikel->fUVP - $Artikel->Preise->fVKNetto;
            $Artikel->SieSparenX->cLocalizedSparbetrag = gibPreisStringLocalized($Artikel->SieSparenX->fSparbetrag);
        } else {
            $Artikel->SieSparenX->anzeigen = $anzeigen;
            $Artikel->SieSparenX->nProzent = round((($Artikel->fUVP - berechneBrutto($Artikel->Preise->fVKNetto, gibUst($Artikel->kSteuerklasse))) * 100) / $Artikel->fUVP);
            $Artikel->SieSparenX->fSparbetrag = $Artikel->fUVP - berechneBrutto($Artikel->Preise->fVKNetto, gibUst($Artikel->kSteuerklasse));
            $Artikel->SieSparenX->cLocalizedSparbetrag = gibPreisStringLocalized($Artikel->SieSparenX->fSparbetrag);
        }
    }
}

dann in der suche_liste_custom.tpl direkt nach dem foreach:
Code:
{foreach name=artikel from=$Suchergebnisse->Artikel->elemente item=Artikel}
[B]{berechneSieSparenX Artikel=$Artikel}[/B]

Dann hast du dein Artikelobjekt entsprechend erweitert. Test mit {$Artikel->SieSparenX|@debug_print_var} gibt es dir aus.
 

Ähnliche Themen