J'essaie de déplacer le bloc Options de cadeau (formulaire de message de cadeau) de la page actuelle du panier d'achat à la première étape de la commande (expédition). Je dois le placer juste sous Méthodes d'expédition. J'ai essayé d'ajouter un module GiftMessage à mon thème et dans celui-ci, j'ai modifié le fichier de mise en page checkout_index_index.xml pour référencer le bloc racine de paiement pour l'insertion du message cadeau, mais cela n'a été d'aucune utilité. Toute aide serait grandement appréciée. Merci!
<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="checkout" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
<body>
<referenceBlock name="checkout.root">
<block class="Magento\GiftMessage\Block\Cart\GiftOptions" name="checkout.cart.order.actions.gift_options" template="cart/gift_options.phtml" cacheable="false">
<arguments>
<argument name="jsLayout" xsi:type="array">
<item name="types" xsi:type="array"/>
<item name="components" xsi:type="array">
<item name="giftOptionsCart" xsi:type="array">
<item name="component" xsi:type="string">Magento_GiftMessage/js/view/gift-message</item>
<item name="config" xsi:type="array">
<item name="template" xsi:type="string">Magento_GiftMessage/gift-message</item>
<item name="formTemplate" xsi:type="string">Magento_GiftMessage/gift-message-form</item>
</item>
</item>
</item>
</argument>
</arguments>
</block>
</referenceBlock>
</body>
magento2
checkout
giftmessage
maquina
la source
la source
Réponses:
Tout d'abord, nous devons comprendre comment fonctionne le message cadeau Magento sur la page du panier.
Ce fichier est notre lumière. Nous gagnerons beaucoup de temps si nous comprenons sa logique.
window.giftOptionsConfig
: cette variable globale utilisée pour la configuration. Nous devons le recréer lors du paiement.Commençons à implémenter notre logique personnalisée. Créez un nouveau module, ajoutez la logique suivante:
app / code / Vendor / CheckoutDemo / view / frontend / layout / checkout_index_index.xml
Il y a 3 notes:
-L'étape d'expédition utilisera notre modèle html d'expédition personnalisé. Il est plus facile d'ajouter notre région personnalisée.
-Notre zone de cadeaux: j'ai copié le contenu de
vendor/magento/module-gift-message/view/frontend/layout/checkout_cart_index.xml
.-La config cadeau
Créer une application / un code / un fournisseur / CheckoutDemo / view / frontend / templates / gift_options.phtml
Nous utilisons la
giftOptionsConfig
variable globale car la logique du message cadeau js l'utilisera.app / code / Vendor / CheckoutDemo / etc / frontend / di.xml
app / code / Vendor / CheckoutDemo / Model / GiftMessageConfigProvider.php
Créez le html d'expédition, copiez le contenu de
vendor/magento/module-checkout/view/frontend/web/template/shipping.html
à notre coutumeapp/code/Vendor/CheckoutDemo/view/frontend/web/template/shipping.html
. Et, ajoutez notre région de message cadeau personnalisé:app / code / Vendor / CheckoutDemo / view / frontend / web / template / shipping.html
Résultat:
la source
Essayez le code ci-dessous
Plus tôt, j'ai créé une extension de passerelle de paiement dans laquelle j'ai rendu mon fichier de modèle personnalisé dans la section de paiement. J'ai également ajouté ce code ici, veuillez ajouter si je manque quelque chose. (Cirkle_Behalf) est le nom du module.
la source