¿Cómo puedo incluir el progreso del pago en la página de revisión rápida de Paypal?


16

Bien, he dividido esto en pasos y puedes ver dónde estoy atrapado:

Paso 1 - cambiar el número de columna

La página de revisión expresa de PayPal (nuestra página a la que PayPal envía al comprador para revisar y finalmente enviar su pedido) es una página de una columna. Por supuesto, podemos cambiar el número de columnas anulando el diseño en un archivo xml de módulo personalizado:

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

Paso 2: elimine el código que restringe el contenido de la columna de la derecha

Ahora la columna de la derecha estará presente pero estará en blanco, esto se debe a la siguiente línea app/design/frontend/base/default/layout/paypal.xml, que eliminamos:

<remove name="right"/>

Paso 3: agrega contenido en el archivo xml

Borrar el caché y actualizar la página mostrará el contenido predeterminado de la columna derecha. Entonces, si a partir de ahí agregamos las siguientes líneas (tomadas de app/design/frontend/base/default/layout/checkout.xml) en el archivo xml del módulo personalizado, una vez más aparece un espacio en blanco.

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

Sé que este es el método correcto para obtener el contenido en esa columna, ya que puedo hacerlo con una plantilla personalizada, por ejemplo

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

Poco inseguro sobre el block typeallí. También soy consciente de que existe el siguiente bloque app/design/frontend/base/default/layout/checkout.xmlque no se está utilizando:

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

Como puede ver, mi conocimiento sobre esto es bastante restringido, debido más a la falta de documentación que al deseo (aunque este sitio fue interesante).

Debo enfatizar que esto de ninguna manera es inalcanzable, por lo que si alguien tiene sugerencias o, por desgracia, la solución buscada o alguna idea en absoluto, su publicación es digna y bienvenida. Muchas gracias

Respuestas:


1

Sí, es posible.

ingrese la descripción de la imagen aquí

Esto es lo que necesitarás para lograrlo.

En su module.xmleliminar todas las referencias <remove name="right" />del paypal_express_reviewidentificador y actualizar la plantilla de la misma manera que lo hizo en los pasos 1 y 2.

A continuación, puede agregar el bloque de envoltura checkout.progress en la rightreferencia. Este bloque se puede encontrar enapp/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>

Una vez que llegue a la paypal/express/review/página, ¿debería ver que hay una columna en blanco? ¿Por qué no bloqueas aparecer? Si inspecciona la página en la columna derecha, debería ver opactity: 0;. Actualice sus estilos para que estén opacity:1;y el bloque debería estar allí.

ingrese la descripción de la imagen aquí

El único problema que puede tener es hacer que los enlaces de cambio funcionen, ya que esperan que el contenedor ya esté allí. De lo contrario, podría considerar crear su propia plantilla para el progreso y eliminar los enlaces. Espero que esto ayude: D

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.