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?

È stato utile?

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

1.Come ottenere GreenwichMean Time in Php

2.Datetime to Timestamp in Php

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top