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.
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 :- (
Hallo Martin, steht doch oben: In die Konstruktormethode der xtcPrice Klasse. Vor der schließenden geschweiften Klammer.
Gruß, Ingo
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
Hi Oliver, der Pfad ist includes/classes/ – stehe auch so im Artikel
Gruß, Ingo