Afficher la ligne dans l'e-mail transactionnel si le mode de paiement est
8
Je souhaite afficher une ligne uniquement lorsque le client sélectionne le mode de paiement de paiement. Lorsqu'un client sélectionne le mandat comme mode de paiement, je souhaite afficher une <li>ligne supplémentaire dans l'e-mail de transaction.
Si le client sélectionne un autre mode de paiement, celui-ci <li>doit être masqué.
Dans ce cas, vous pouvez gérer cela par gestionnaire.
Utiliser le gestionnaire:
Créez un gestionnaire et définissez-le dans le fichier de mise en page:
create a handleret l'utilisation de ce gestionnaire a rendu un fichier phtml. Activé local.xmlà app/design/frontend/YOUR_PAackage/YOUR_template/layoutdéfinir le gestionnaire.
Code de fichier de mise en page comme:
<?xml version="1.0"?><layoutversion="0.1.0"><!-- add new handler --><amit_customer_addhan><blocktype="core/template"name="addNewLi"template="sales/showcheckmo.phtml"/></amit_customer_addhan></layout>
Appelez ce gestionnaire au modèle d'e-mail
alors on email html call this handler(locale/YourLANG/template/email/)
J'ai essayé cela, mais cela n'a pas fonctionné non plus :(
JGeer
0
Je vais essayer de répondre à votre question initiale - comment utiliser la directive avec condition. Pour le débogage, j'utilise xDebug. Et à mon avis, il est très difficile de déboguer les e-mails. Dans ce cas, je vous montre un exemple avec la même structure dans une autre partie de magento.
Sur la vente / commande / vue, il y a la même structure. La structure de sortie d'adresse déterminée en Mage/Core/etc/config.xmlpouces default/customer/address_templates/text.
Notre tâche sera d'ajouter toute condition pour afficher ou ne pas afficher le «nom de l'entreprise». Des directives telles que var , depend , si elles sont analysées dans le filtre deVarien_Filter_Template méthode ($ value) . Dans cette méthode, il y a une itération de toutes les constructions $ (if / depend / var) et de chaque construction $ utilisée dans cet appel:
// If object calling methods or getting properties
Donc, pour conditionner notre $ stackVars doit être un objet et être une instace de Varien_Object (la plupart des modèles s'étendent de Mage_Core_Model_Abstract, qui s'étend de Varien_Object). Permet de monter quelques marches au-dessus. Nous devons ajouter à stackVars et object.
Dans mon exemple dans la classe Mage_Customer_Block_Address_Renderer_Default, Magento appelle le filtre de méthode ($ value), que j'ai mentionné ci-dessus.
Ici, je fournis une solution. Attention! Cette solution n'est pas très propre. Son but est de montrer le comportement de magento. Veuillez faire toutes les réécritures vous-même.
Dans cette méthode, nous ajouterons un objet order au tableau de données $. Selon ma tâche, ajoutons un objet de commande à ce tableau. Faites-le avant '$ formater-> setVariables ($ data);'
$data['order_object']= $address->getOrder();
Après ce magento analysera cet objet et appellera n'importe quelle méthode. Par exemple, nous ajoutons une nouvelle méthode getPaymentOutput (). Mettez des fonctionnalités simples dans la classe Order:
la source
Je vais essayer de répondre à votre question initiale - comment utiliser la directive avec condition. Pour le débogage, j'utilise xDebug. Et à mon avis, il est très difficile de déboguer les e-mails. Dans ce cas, je vous montre un exemple avec la même structure dans une autre partie de magento.
Sur la vente / commande / vue, il y a la même structure. La structure de sortie d'adresse déterminée en
Mage/Core/etc/config.xml
poucesdefault/customer/address_templates/text
.Notre tâche sera d'ajouter toute condition pour afficher ou ne pas afficher le «nom de l'entreprise». Des directives telles que var , depend , si elles sont analysées dans le filtre de
Varien_Filter_Template
méthode ($ value) . Dans cette méthode, il y a une itération de toutes les constructions $ (if / depend / var) et de chaque construction $ utilisée dans cet appel:Pour chaque if / depende / var, il existe sa propre méthode. Regardons
public function ifDirective($construction)
Voyons maintenant la méthode protégée _getVariable. Je voudrais attirer votre attention sur une ligne:
et regardez le commentaire ci-dessous:
Donc, pour conditionner notre $ stackVars doit être un objet et être une instace de Varien_Object (la plupart des modèles s'étendent de Mage_Core_Model_Abstract, qui s'étend de Varien_Object). Permet de monter quelques marches au-dessus. Nous devons ajouter à stackVars et object.
Dans mon exemple dans la classe Mage_Customer_Block_Address_Renderer_Default, Magento appelle le filtre de méthode ($ value), que j'ai mentionné ci-dessus.
Ici, je fournis une solution. Attention! Cette solution n'est pas très propre. Son but est de montrer le comportement de magento. Veuillez faire toutes les réécritures vous-même.
Dans cette méthode, nous ajouterons un objet order au tableau de données $. Selon ma tâche, ajoutons un objet de commande à ce tableau. Faites-le avant '$ formater-> setVariables ($ data);'
Après ce magento analysera cet objet et appellera n'importe quelle méthode. Par exemple, nous ajoutons une nouvelle méthode getPaymentOutput (). Mettez des fonctionnalités simples dans la classe Order:
et seulement après cela, nous apportons des modifications dans la directive xml avec ceci:
la source