Berechnungen in Powermail durchführen

Manchmal möchte man in Powermail ein Feld automatisch berechnen lassen, sobald etwas Neues eingegeben wird. Mit der Extension powermail_cond und etwas Javascript können beliebige Berechnungen (Addieren, Subrahieren, Multiplizieren etc.) durchgeführt werden.Installiere hierzu die Extension Powermail Conditions für jQuery (powermail_cond_jquery) und aktiviere im Erweiterungsmanager das “Manual event handler field [manualEventHandler]“. Dann erscheint in jedem Feld, das mit Powermail erstellt wird, die zusätzliche Option “Eigenen Code eintragen”. Am einfachsten ist es hier nur eine Javascriptfunktion einzugeben und diese an anderer Stelle auf der Seite zu definieren. Ich möchte dies an einem Beispiel verdeutlichen.

So soll der Homepagebenutzer über ein Powermail-Formular eine Bestellung durchführen können und den Gesamtpreis abhängig von der eingegebenen Anzahl sofort sehen können. Er gibt in das Feld mit der UID 771 die Anzahl der Artikel ein, die dann im Feld mit der UID 783 ausgegeben werden sollen.

In dem Feld Anzahl wird zunächst in das Feld “Eigenen Code eintragen” folgendes eingegeben:

onchange="calc()"

Die Funktion wird nun zum Beispiel in einem neuen Inhaltselement, Typ HTML definiert. In diesem Beispiel ist der Einzelpreis im Feld mit der UID 772 hinterlegt:

<script language="JavaScript">
<!--function calc()
{
document.getElementById("uid783").value =
eval(document.getElementById("uid771").value) *
eval(document.getElementById("uid772").value);
}
//-->
</script>

Bei diesem Skript muss der Einzelpreis, sofern er mit Cent-Beträgen angegeben wird, mit Punkt angegeben werden: 7.95.

Autor:admin
Datum: Sonntag, 13. Juni 2010 18:43
Trackback: Trackback-URL Themengebiet: Powermail

Feed zum Beitrag: RSS 2.0 Diesen Artikel kommentieren

3 Kommentare

  1. 1

    Hallo,
    diese Anleitung funktioniert leider nicht mehr mit der aktuellen Powermail-Version (1.6.3), weil es hier das Feld “Eigenen Code eintragen” nicht mehr gibt, mit dem man Javascript-Aktionen auslösen kann. Hat jemand eine Idee, wie man es trotzdem hinbringen könnte?
    Danke.

  2. 2

    Hallo Siebgert, du hast Recht: in der aktuellen Variante von powermail_cond ist die Option “Eigenen Code eintragen” nicht mehr gegeben. Du kannst die etwas ältere Erweiterung Powermail Conditions for jQuery (powermail_cond_jquery) verwenden. Dort ist die Option noch vorhanden. Ich ändere die obige Anleitung entsprechend.

    Viele Grüße
    Jürgen König

  3. 3

    In meinem Blog findet Ihr eine Lösung für das Problem, die ohne eine zusätzlich Extension auskommt:
    http://digiblog.de/2011/08/18/tips-tricks-for-typo3-extension-powermail/
    …Unterpunkt “Calculating field content with Javascript”
    Gruß, Jörg.

Kommentar abgeben