2009-07-09 5 views
2

Je dois formater la date dans un modèle d'e-mail. La date sera inclus dans l'e-mail .html plaine comme suit:Magento Comment mettre en forme la date dans un modèle d'e-mail

Dispatch Date: {{var order.getShippingDate()}} 

Est-il possible que je peux formater cette date? J'ai essayé juste en utilisant la fonction standard PHP date pour le formater en vain.

Répondre

3

strtotime toute aide? Il peut analyser une donnée à un horodatage unix, ce que date() attend en entrée.

modifier après commentaire:

Vous pouvez essayer de créer une version personnalisée de l'application/code/core/Mage/Vente/Modèle/order.php sous l'app/code/dossier local (il va ici si les mises à jour magento ne l'écrase pas). Il contient une méthode appelée getCreatedAtFormated - vous pouvez appliquer le même principe aux données d'expédition et voir si cela permet d'obtenir ce que vous devez faire.

+0

... Non, il ne me laisse pas utiliser toutes les fonctions php à l'intérieur des accolades. Rappelez-vous, ceci est dans un fichier .html, donc je suppose que le problème réside dans la façon dont Magento analyse le fichier. – Remy

+0

ah oui, bien sûr. oublie ça. – benlumley

+0

Doux ... c'était tout! Merci! – Remy

3

Vous pouvez ajouter une directive de bloc avec le modèle personnalisé

{{block type='core/template' area='frontend' template='email/order/shipment/date.phtml' shipment=$shipment order=$order}}

et sa date de format par assistant.

ou de réécrire le filtre qui utilise pour l'analyse de modèles et d'ajouter votre directive

/** 
    * Setup callbacks for filters 
    * 
    */ 
    public function __construct() 
    { 
     $this->_modifiers['date'] = array($this, 'modifierDate'); 
    } 

    public function modifierEscape($value, $format='d/m/Y') 
    { 
     return Mage::helper('core')->formatDate($value,$format); 
    } 

ce n'est pas le code testé. juste un exemple.

-1

Dispatch Date: {{var order.getShippingDate() | FormatDateTime: F j, Y}}

Questions connexes