Jak mogę dołączyć postęp realizacji transakcji na stronie ekspresowej oceny Paypal?


16

Ok, podzieliłem to na kroki i widać, gdzie utknąłem:

Krok 1 - zmień numer kolumny

Strona ekspresowej oceny PayPal (nasza strona, na którą PayPal odsyła kupującego, aby przejrzeć i ostatecznie złożyć zamówienie) to strona jednokolumnowa. Oczywiście możemy zmienić liczbę kolumn, zastępując układ w niestandardowym pliku XML modułu:

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

Krok 2 - usuń kod ograniczający zawartość prawej kolumny

Teraz prawa kolumna będzie obecna, ale będzie pusta - wynika to z następującego wiersza w app/design/frontend/base/default/layout/paypal.xml- który usuwamy:

<remove name="right"/>

Krok 3 - dodaj zawartość do pliku xml

Wyczyszczenie pamięci podręcznej i odświeżenie strony spowoduje wyświetlenie domyślnej zawartości prawej kolumny. Więc jeśli stamtąd dodamy następujące wiersze (pożyczone z app/design/frontend/base/default/layout/checkout.xml) do niestandardowego pliku xml modułu, ponownie otrzymamy puste miejsce.

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

Wiem, że jest to właściwa metoda na uzyskanie zawartości w tej kolumnie, ponieważ mogę to zrobić za pomocą niestandardowego szablonu, np

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

Nie jestem pewien co do block typetego. Mam również świadomość, że w bloku app/design/frontend/base/default/layout/checkout.xmlnie jest używany następujący blok :

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

Jak widać, moja wiedza na ten temat jest dość ograniczona - bardziej z powodu braku dokumentacji niż pożądania (ta strona była jednak interesująca).

Muszę podkreślić, że nie jest to w żaden sposób nieosiągalne, więc jeśli ktoś ma sugestie lub niestety poszukiwane rozwiązanie lub wgląd we wszystkie posty, jest godny i bardzo mile widziany. Wielkie dzięki

Odpowiedzi:


1

Tak to mozliwe.

wprowadź opis zdjęcia tutaj

Właśnie tego będziesz potrzebować, aby to osiągnąć.

W swoim module.xmlusuń wszystkie odniesienia <remove name="right" />z paypal_express_reviewuchwytu i zaktualizuj szablon tak samo, jak w krokach 1 i 2.

Następnie możesz dodać blok rightreferencyjny checkout.progress do odwołania. Ten blok można znaleźć wapp/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>

Po przejściu na paypal/express/review/stronę powinieneś zobaczyć, że jest pusta kolumna? Dlaczego się nie wyświetlasz? Jeśli sprawdzisz stronę w prawej kolumnie, powinieneś ją zobaczyć opactity: 0;. Zaktualizuj swoje style, aby były, opacity:1;a blok powinien tam być.

wprowadź opis zdjęcia tutaj

Jedynym problemem, jaki możesz mieć, jest sprawienie, by linki zmian działały, ponieważ oczekują, że kontener już tam będzie. Jeśli nie, możesz utworzyć własny szablon postępu i usunąć linki. Mam nadzieję, że to pomoże: D

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.