Problem mt Schleife in Smarty

xtramen01

Erfahrenes Mitglied
Hallo Leute,

brauche mal wieder eure Hilfe.
Ich hoffe ich poste hier im richtigen Forum.

Es geht um Smarty, aber eigentlich ist das eine grundsätzliche Frage zu foreach Schleifen.

Ich habe eine WHILE Schleife mit der ich Datenbankinhalte in ein Array schreibe.
Nun werden diese Werte aber innerhalb der Schleife manipuliert bzw. angepasst.

Nun möchte ich diese Werte an ein Template übergeben.

Das mach ich mit:

PHP:
{foreach name=listing  item=list from=$listing}
{$list.preis}
{/foreach}

Das zeigt mir schön alle Preise aus der DB an.

Nun brauche ich aber nicht die Daten direkt aus der DB sondern an die angepassten Daten für die ich eigene Variablen angelegt habe.

Hier ein Beispiel Code:

PHP:
....... while ($listing = tep_db_fetch_array($listing_query)) {
 
// Array für Smarty wird erstellt  
 
        $products_array[] = $listing;
        $smarty->assign("listing", $products_array);

// Produktpreis wird angepasst

        $neuer_preis = $listing['preis']+$mwst;
}

Wie komme ich nun mit Smarty an den neuen Preis.

Habe es schon so versucht:

PHP:
....... while ($listing = tep_db_fetch_array($listing_query)) {
 
// Array für Smarty wird erstellt  
 
        $products_array[] = $listing;
        $smarty->assign("listing", $products_array);

// Produktpreis wird angepasst

        $neuer_preis .= $listing['preis']+$mwst;
}

        $smarty->assign('neuer_preis', $neuer_preis);

Und dann in der Foreach Schleife im Template normal aufgerufen.
Dann bekomm ich aber alle Preise in einer Reihe und immer doppelt.
So kann ich kein vernünftiges Template erstellen.

Hoffe ihr versteht was ich meine.

Hat da jemand eine Idee?

Gruss
 
- mit ".=" werden die Preise zusammengesetzt.
- èbergib zuerst den neuen Preis dem Array, dann dem Smarty
PHP:
....... while ($listing = tep_db_fetch_array($listing_query)) {
 
// Array für Smarty wird erstellt  
 
        $products_array[] = $listing;

// Produktpreis wird angepasst

        $products_array['neuer_preis'] = $listing['preis']+$mwst;

// Array an Smarty übergeben
        $smarty->assign("listing", $products_array);

}
 
Zurück