Ottieni l'ordine DateTime incluso Timezone nel modello di posta elettronica
-
13-12-2019 - |
Domanda
Provo a modificare il modello di posta elettronica del nuovo ordine predefinito.
Attualmente, ottengo l'ordine datetime da {{var order.getCreatedAtFormated('short')}}
.
Risulta 6/18/2015 12:18 PM
.
Voglio includere il fuso orario Seguendo DateTime, il risultato atteso è 6/18/2015 12:18 PM GMT+7
.
Immergi nel codice Core Magento per capire come funziona, allora provo
generacodictagpre ma non funziona.
So che se funziona, getTimezone()
potrebbe risultare Asisa/Saigon
anziché GMT+7
come previsto.
Allora, come ottenere l'ordine Datetime incluso Timezone?
Soluzione
Non c'è funzione nativa per ottenere il valore del tempo GMT.
per ottenere il valore GMT dell'ordine creato datatime.
Ho rewrite
The Mage_Sales_Model_Order
e scrivi una nuova funzione per ottenere il GMT.
(Riferire il modello Magento Rewrite tutorial )
public function getGmtValue()
{
$timeZone = $this->getCreatedAtStoreDate()->getTimezone();
$currentTimezone = date_default_timezone_get();
date_default_timezone_set($timeZone);
//Get GMT
$value = date('P', strtotime($this->getCreatedAtStoreDate()));
date_default_timezone_set($currentTimezone);
return 'GMT'.$value;
}
.
Ora puoi ottenere il valore GMT nel modello di posta elettronica seguendo il codice.
{{var order.getGmtValue()}}
.
Ho riferito questi due collegamenti per ottenere il valore GMT