Làm cách nào tôi có thể bao gồm tiến trình thanh toán trên trang đánh giá Paypal express?


16

Được rồi, tôi đã chia nó thành các bước và bạn có thể thấy nơi tôi đang bị mắc kẹt:

Bước 1 - thay đổi số cột

Trang đánh giá PayPal Express (trang của chúng tôi mà PayPal gửi người mua trở lại để xem xét và cuối cùng gửi đơn đặt hàng của họ) là một trang một cột. Tất nhiên, chúng ta có thể thay đổi số lượng cột bằng cách ghi đè bố cục trong tệp xml mô-đun tùy chỉnh:

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

Bước 2 - xóa mã giới hạn nội dung cột bên tay phải

Bây giờ cột bên tay phải sẽ có mặt nhưng sẽ trống - điều này là do dòng sau trong app/design/frontend/base/default/layout/paypal.xml- mà chúng tôi xóa:

<remove name="right"/>

Bước 3 - thêm nội dung trong tệp xml

Xóa bộ nhớ cache và làm mới trang sẽ hiển thị nội dung cột bên phải mặc định. Vì vậy, nếu từ đó chúng ta thêm các dòng sau (mượn từ app/design/frontend/base/default/layout/checkout.xml) vào tệp xml mô-đun tùy chỉnh, chúng ta lại một lần nữa đưa ra một khoảng trống.

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

Tôi biết rằng đây là phương pháp phù hợp để lấy nội dung trong cột đó vì tôi có thể làm điều đó với một mẫu tùy chỉnh, ví dụ:

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

Ít không chắc chắn về điều block typeđó. Ngoài ra, tôi biết rằng có một khối sau app/design/frontend/base/default/layout/checkout.xmlkhông được sử dụng:

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

Như bạn có thể thấy kiến ​​thức của tôi về điều này khá hạn chế - do thiếu tài liệu hơn là mong muốn (mặc dù trang web này rất thú vị).

Tôi phải nhấn mạnh rằng điều này không có nghĩa là không thể thực hiện được vì vậy nếu có ai có đề xuất hoặc than ôi, giải pháp tìm kiếm hoặc bất kỳ cái nhìn sâu sắc nào trong tất cả bài đăng của bạn là xứng đáng và được hoan nghênh nhất. Cảm ơn nhiều

Câu trả lời:


1

Vâng, nó là có thể.

nhập mô tả hình ảnh ở đây

Đây là những gì bạn sẽ cần để đạt được nó.

Trong phần module.xmlxóa của bạn tất cả các tham chiếu <remove name="right" />khỏi paypal_express_reviewtay cầm và cập nhật mẫu giống như bạn đã làm trong bước 1 và 2.

Tiếp theo, bạn có thể thêm khối trình bao bọc checkout.proceed vào righttham chiếu. Khối này có thể được tìm thấy trongapp/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>

Khi bạn vào paypal/express/review/trang, bạn sẽ thấy rằng có một cột trống? Tại sao bạn không chặn hiển thị? Nếu bạn kiểm tra trang ở cột bên phải, bạn sẽ thấy opactity: 0;. Cập nhật phong cách của bạn để được opacity:1;và khối nên ở đó.

nhập mô tả hình ảnh ở đây

Vấn đề duy nhất bạn có thể có là làm cho các liên kết thay đổi hoạt động vì họ đang mong đợi container đã ở đó. Nếu không, bạn có thể nhìn vào việc tạo mẫu của riêng bạn để tiến bộ và loại bỏ các liên kết. Hy vọng điều này sẽ giúp: D

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.