Magento-Basis- und Anzeigewährung ändern (und die Preise im Backend automatisch aktualisieren, EUR -> RON)

magento.stackexchange https://magento.stackexchange.com//questions/28841

Frage

Ich habe eine alte Magento-E-Commerce-Site mit etwa 400 Produkten.Ursprünglich war es sowohl im Backend als auch im Frontend für EURO konzipiert.Ich muss es vollständig in die lokale Währung migrieren.Folgendes habe ich bisher getan:Ich habe die BASISwährung auf EUR (so wie sie war) und die Anzeigewährung auf RON (rumänischer Leu, lokale Währung) eingestellt.Und ich habe einen Basiswechselkurs festgelegt und ihn dann so eingestellt, dass er täglich von WebserviceX aktualisiert wird.Damit war die Hälfte meines Problems gelöst.Wenn ein Benutzer die Website betritt, wird ihm die Website in der lokalen Währung angezeigt, mit der Option, in der oberen Leiste auf EUR umzustellen.Aber mein Problem ist, dass ich beim Hinzufügen neuer Produkte in EUR gefragt werde.Ich muss irgendwie die BASISwährung auf den lokalen RON einstellen.Aber wenn ich es auf RON stelle, werden die Preise nicht aktualisiert!-- Ein Produkt mit einem Wert von 500 EUR, wenn die Basis auf EUR und die Anzeige auf Ron eingestellt ist, wird als 2300RON angezeigt, was korrekt ist.Wenn sowohl die Basis als auch die Anzeige in RON angegeben sind, wird ein 500-EUR-Produkt als 500 ROZ angezeigt. Die Umrechnung funktioniert nicht, wenn ich RON als Basis einstelle.Ich muss die Preise im Backend automatisch von EUR -> umrechnen, damit ich die Basis auf RON setzen und sie von nun an standardmäßig in RON eingeben kann.Wie kann ich das machen?Ich kann 400 Produkte nicht manuell aktualisieren.

War es hilfreich?

Lösung

Hier ist etwas, das die Preise umrechnen sollte.
Ich weiß, dass es nicht der beste Weg ist, die Datenbank direkt zu berühren, aber es ist schnell und funktioniert.
Bitte sichern Sie Ihre Datenbank, bevor Sie dies versuchen.

Daher werden alle preisbezogenen Werte in der Tabelle gespeichert catalog_product_entity_decimal Und catalog_product_entity_tier_price falls Sie Staffelpreise haben.
Bei Staffelpreisen ist das einfach.
Aktualisieren Sie einfach den Wert der Spalte value mit dem umgerechneten Wert.
Der Umrechnungskurs für 1E beträgt heute also 4,4193 RON.
Führen Sie diese Abfrage aus:

UPDATE `catalog_product_entity_tier_price` set `value ` = 4.4193 * `value`;

Dies sollte es lösen.
Bei den restlichen Preisen ist das nicht so einfach.
Zuerst müssen Sie die Attribut-IDs identifizieren price Und special_price.
Führen Sie dazu diese Abfrage aus.

SELECT 
    * 
FROM 
    `eav_attribute` e 
    LEFT JOIN `eav_entity_type` et ON `e`.`entity_type_id` = `et`.`entity_type_id`
WHERE 
    `e`.`attribute_code` IN ('price', 'special_price') AND
    `et`.`entity_type_code` = 'catalog_product'

Dies sollte 2 Reihen ergeben.Nimm die Säule attribute_id Werte ein und verwenden Sie sie in der folgenden Abfrage.Für mich waren es diese Werte 75 Und 76.
Führen Sie nun diese Abfrage aus, um die Preise zu aktualisieren.

UPDATE 
    `catalog_product_entity_decimal` 
SET 
    `value` = 4.4193 * `value`
WHERE
    `attribute_id` IN (75, 76)

Wieder 4.4193 ist der Wechselkurs.

Jetzt können Sie Ihre Basiswährung auf RON einstellen.Leeren Sie den Cache und indizieren Sie alles neu.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit magento.stackexchange
scroll top