xt:Commerce Währungskurse automatisch aktualisieren

Bietet man Produkte in verschiedenen Ländern an, dann wird der Preis natürlich in der Landeswährung angezeigt. Bei den teilweise starken Bewegungen auf den Finanzmärkten ist ein tagesaktueller Umrechnungskurs dabei besonders wichtig. xt:Commerce bietet von Haus aus leider keine Möglichkeit, diese Kurse automatisch zu aktualisieren. Mit einem kleinen Kniff lässt sich das aber leicht realisieren. Meine Kursaktualisierung habe ich in die Datei includes/classes/xtcPrice.php gepackt, und zwar in die Methode xtcPrice selbst (Konstruktormethode bei PHP 4.x):


        // [start] :ADDED: exanto.de - get current rates
        $ccache = DIR_FS_DOCUMENT_ROOT . 'cache/last_currency_run.txt';
        if (filemtime($ccache) + 86400 < time()) {
            // get new values from ecb
            $xml = @simplexml_load_file('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml');
            if (is_object($xml)) {
                // successfully grabbed, touch markerfile, update db
                touch($ccache);
                foreach ($xml->Cube->Cube->Cube as $curEntry) {
                    xtDBquery("
                        UPDATE  " . TABLE_CURRENCIES . "
                        SET     value = '" . $curEntry['rate'] . "', last_updated = now()
                        WHERE   code = '" . $curEntry['currency'] . "'
                        LIMIT   1
                        ");
                }
            }
        }
        // [ end ] :ADDED: exanto.de - get current rates

Das war’s schon. Damit werden die konfigurierten Währungen im xt:Commerce Shop alle 24 Stunden automatisch an den aktuellen Wechselkurs der europäischen Zentralbank angepasst.

4 responses to “xt:Commerce Währungskurse automatisch aktualisieren”

  1. Martin Sach

    Hallo,

    ganau so was habe ich gesucht! Leider bin ich nicht gerade ein PHP-Experte. Könnt Ihr mir sagen, an welcher Stelle ich den Code einfügen muss? Meine bisherigen Versuche endeten immer mit einer Fehlermeldung :- (

  2. Oliver

    Hallo, erst mal danke fuer dein Beitrag. Ich habe versucht dein Script zu installieren aber ich habe gar keine Pfad mit den Namen /classes/xtcPrice.php includes ja aber danach nur noch die verzeichnisse -src und config.php

    Mus man /classes/xtcPrice.php

    Verzeichnis erstellen ?

    Gruss

    Oliver

Einen Kommentar hinterlassen