Como posso incluir o andamento da finalização da compra na página de revisão expressa do Paypal?


16

Ok, eu dividi isso em etapas e você pode ver onde eu estou preso:

Etapa 1 - alterar o número da coluna

A página de revisão expressa do PayPal (nossa página para a qual o PayPal envia o comprador para revisar e finalmente enviar o pedido) é uma página de uma coluna. Obviamente, podemos alterar o número de colunas substituindo o layout em um arquivo 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>

Etapa 2 - remova o código que restringe o conteúdo da coluna à direita

Agora a coluna da direita estará presente, mas ficará em branco - devido à seguinte linha app/design/frontend/base/default/layout/paypal.xml- que removemos:

<remove name="right"/>

Etapa 3 - adicionar conteúdo no arquivo xml

Limpar o cache e atualizar a página mostrará o conteúdo padrão da coluna à direita. Portanto, se a partir daí adicionarmos as seguintes linhas (emprestadas de app/design/frontend/base/default/layout/checkout.xml) ao arquivo xml do módulo personalizado, voltaremos a ficar em branco.

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

Sei que esse é o método certo para obter o conteúdo dessa coluna, pois posso fazê-lo com um modelo personalizado, por exemplo,

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

Pouco incerto sobre o block typelá. Também estou ciente de que existe o seguinte bloco app/design/frontend/base/default/layout/checkout.xmlque não está sendo usado:

<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 você pode ver, meu conhecimento sobre isso é bastante restrito - devido mais à falta de documentação do que ao desejo (este site foi interessante).

Devo enfatizar que isso não é de forma alguma inatingível, por isso, se alguém tiver sugestões ou, infelizmente, a solução procurada ou qualquer insight de todo o seu post, é digno e muito bem-vindo. Muito Obrigado

Respostas:


1

Sim, é possível.

insira a descrição da imagem aqui

É isso que você precisará para alcançá-lo.

Em seu module.xmlremover todas as referências <remove name="right" />dopaypal_express_review alça e atualizar o modelo da mesma forma que fizemos no passo 1 e 2.

Em seguida, você pode adicionar o bloco de wrapper checkout.progress à rightreferência. Este bloco pode ser encontrado emapp/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>

Quando você chegar à paypal/express/review/página, verá que existe uma coluna em branco? Por que você não bloqueia a exibição? Se você inspecionar a página na coluna da direita, deverá ver opactity: 0;. Atualize seus estilos opacity:1;e o bloco deve estar lá.

insira a descrição da imagem aqui

O único problema que você pode ter é fazer com que os links de alterações funcionem, pois eles esperam que o contêiner já esteja lá. Caso contrário, você pode criar seu próprio modelo para progresso e remover os links. Espero que isso ajude: D

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.