Comment puis-je inclure la progression du paiement sur la page d'examen express de Paypal?

16

D'accord, je l'ai divisé en étapes et vous pouvez voir où je suis coincé:

Étape 1 - modifier le numéro de colonne

La page de révision express de PayPal (notre page à laquelle PayPal renvoie l'acheteur pour examiner et enfin soumettre sa commande) est une page à une colonne. Bien sûr, nous pouvons changer le nombre de colonnes en remplaçant la disposition dans un fichier xml de module personnalisé:

<paypal_express_review>
   <!-- maybe other references here -->
   <reference name="root">
      <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
   </reference>
   <!-- maybe other references here -->
</paypal_express_review>

Étape 2 - Supprimer le code limitant le contenu de la colonne de droite

Maintenant, la colonne de droite sera présente mais sera vide - c'est à cause de la ligne suivante app/design/frontend/base/default/layout/paypal.xml- que nous supprimons:

<remove name="right"/>

Étape 3 - ajouter du contenu dans un fichier xml

Vider le cache et actualiser la page affichera le contenu par défaut de la colonne de droite. Donc, si à partir de là, nous ajoutons les lignes suivantes (empruntées à app/design/frontend/base/default/layout/checkout.xml) dans le fichier xml du module personnalisé, nous arrivons à nouveau avec un blanc.

<reference name="right">
    <action method="unsetChildren"></action>
    <block type="page/html_wrapper" name="checkout.progress.wrapper" translate="label">
        <label>Checkout Progress Wrapper</label>
        <action method="setElementId"><value>checkout-progress-wrapper</value></action>
        <block type="checkout/onepage_progress" name="checkout.progress" before="-" template="checkout/onepage/progress.phtml"/>
    </block>
</reference>

Je sais que c'est la bonne méthode pour obtenir le contenu de cette colonne car je peux le faire avec un modèle personnalisé, par exemple

<reference name="right">
    <action method="unsetChildren"></action>
    <block type="page/html" name="custom" template="custom_module/custom.phtml" />
</reference>

Peu incertain sur le block typelà - bas. Je suis également conscient du fait que le bloc suivant app/design/frontend/base/default/layout/checkout.xmln'est pas utilisé:

<block type="checkout/onepage_progress" name="root" output="toHtml" template="checkout/onepage/progress.phtml">
    <block type="checkout/onepage_payment_info" name="payment_info">
        <action method="setInfoTemplate"><method></method><template></template></action>
    </block>
</block>

Comme vous pouvez le voir, mes connaissances à ce sujet sont assez limitées - en raison davantage d'un manque de documentation que de désir (ce site était intéressant cependant).

Je dois souligner que ce n'est en aucun cas irréalisable, donc si quelqu'un a des suggestions ou, hélas, la solution recherchée ou tout aperçu, votre message est digne et très bienvenu. Merci beaucoup

jesus g_force Harris
la source

Réponses:

1

Oui c'est possible.

entrez la description de l'image ici

C'est ce dont vous aurez besoin pour y parvenir.

Dans votre, module.xmlsupprimez toutes les références <remove name="right" />de la paypal_express_reviewpoignée et mettez à jour le modèle de la même manière que vous l'avez fait aux étapes 1 et 2.

Vous pouvez ensuite ajouter le bloc d'encapsulage checkout.progress dans la rightréférence. Ce bloc se trouve dansapp/design/frontend/base/default/layout/checkout.xml

<reference name="right">
            <action method="unsetChildren"></action>
            <block type="page/html_wrapper" name="checkout.progress.wrapper" translate="label">
                <label>Checkout Progress Wrapper</label>
                <action method="setElementId"><value>checkout-progress-wrapper</value></action>
                <block type="checkout/onepage_progress" name="checkout.progress" before="-" template="checkout/onepage/progress.phtml">
                    <block type="checkout/onepage_progress" name="billing.progress" template="checkout/onepage/progress/billing.phtml"></block>
                    <block type="checkout/onepage_progress" name="shipping.progress" template="checkout/onepage/progress/shipping.phtml"></block>
                    <block type="checkout/onepage_progress" name="shippingmethod.progress" template="checkout/onepage/progress/shipping_method.phtml"></block>
                    <block type="checkout/onepage_progress" name="payment.progress" template="checkout/onepage/progress/payment.phtml"></block>
                </block>
            </block>
        </reference>

Une fois sur la paypal/express/review/page, vous devriez voir qu'il y a une colonne vide? Pourquoi ne bloquez-vous pas votre présence? Si vous inspectez la page dans la colonne de droite, vous devriez voir opactity: 0;. Mettez à jour vos styles opacity:1;et le bloc devrait être là.

entrez la description de l'image ici

Le seul problème que vous pourriez avoir est de faire fonctionner les liens de modification car ils s'attendent à ce que le conteneur soit déjà là. Sinon, vous pouvez envisager de créer votre propre modèle de progression et de supprimer les liens. J'espère que cela vous aidera: D

rob3000
la source