Wie kann ich den Checkout-Fortschritt auf der Paypal Express-Überprüfungsseite anzeigen?

16

Okay, ich habe das in Schritte unterteilt und du kannst sehen, wo ich feststecke:

Schritt 1 - Spaltennummer ändern

Die PayPal-Express-Überprüfungsseite (unsere Seite, auf die PayPal den Käufer zurückschickt, um die Bestellung zu überprüfen und schließlich abzusenden) ist eine einspaltige Seite. Natürlich können wir die Anzahl der Spalten ändern, indem wir das Layout in einer benutzerdefinierten Modul-XML-Datei überschreiben:

<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>

Schritt 2 - Code entfernen, der den Inhalt der rechten Spalte einschränkt

Jetzt ist die rechte Spalte vorhanden, aber leer - dies liegt an der folgenden Zeile in app/design/frontend/base/default/layout/paypal.xml- die wir entfernen:

<remove name="right"/>

Schritt 3 - Inhalt in XML-Datei hinzufügen

Wenn Sie den Cache leeren und die Seite aktualisieren, wird der Standardinhalt der rechten Spalte angezeigt. Wenn wir also von dort aus die folgenden Zeilen (ausgeliehen von app/design/frontend/base/default/layout/checkout.xml) in die XML-Datei des benutzerdefinierten Moduls einfügen, haben wir wieder ein Leerzeichen gefunden.

<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>

Ich weiß, dass dies die richtige Methode ist, um den Inhalt dieser Spalte abzurufen, da ich dies mit einer benutzerdefinierten Vorlage tun kann, z

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

Wenig unsicher über das block typedort. Mir ist auch bewusst, dass der folgende Block app/design/frontend/base/default/layout/checkout.xmlnicht verwendet wird:

<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>

Wie Sie sehen, ist mein Wissen darüber ziemlich eingeschränkt - eher aufgrund mangelnder Dokumentation als aufgrund von Wünschen (diese Seite war jedoch interessant).

Ich muss betonen, dass dies keineswegs unerreichbar ist. Wenn also jemand Vorschläge hat oder leider die gewünschte Lösung oder einen Einblick in Ihre Position hat, ist dies angemessen und sehr willkommen. Danke vielmals

jesus g_force Harris
quelle

Antworten:

1

Ja, es ist möglich.

Bildbeschreibung hier eingeben

Dies ist, was Sie brauchen, um es zu erreichen.

In Ihrem module.xmlEntfernen Sie alle Verweise <remove name="right" />aus dem paypal_express_reviewGriff und aktualisieren Sie die Vorlage die gleichen wie in Schritt 1 und 2 gemacht haben.

Als Nächstes können Sie den Wrapperblock checkout.progress zur rightReferenz hinzufügen . Dieser Block befindet sich inapp/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>

Sobald Sie zu der paypal/express/review/Seite gelangen, sollten Sie sehen, dass es eine leere Spalte gibt? Warum blockierst du nicht das Auftauchen? Wenn Sie die Seite in der rechten Spalte überprüfen, sollten Sie sehen opactity: 0;. Aktualisieren Sie Ihre Stile opacity:1;und der Block sollte da sein.

Bildbeschreibung hier eingeben

Das einzige Problem, das Sie möglicherweise haben, besteht darin, die Änderungslinks funktionsfähig zu machen, da erwartet wird, dass der Container bereits vorhanden ist. Wenn nicht, können Sie Ihre eigene Vorlage erstellen, um den Fortschritt zu überprüfen und die Links zu entfernen. Hoffe das hilft: D

rob3000
quelle