zu Punkte 2 wäre meine Idee während des Durchlaufs der Positionen einfach die jeweiligen Preise in einer Variable zu addieren:
{assign var='PositionSum' value= {math equation="price * amount"
price=$position.article->getPrice()
amount=$position.orderAmount format="%.2f"} }
{assign var='TotalSum' value=$TotalSum+$PositionSum}
//Ausgabe
{$PositionSum}
// ...
Total: {$TotalSum}
bzgl. Footer und Seitenzahl denke ich mal, hängen die Punkte 3 und 4 direkt zusammen, aber wo man nun einstellt, ob er Seite 1 mitzählt oder nicht kann ich aus dem Stehgreif auch nicht sagen…