Canvas Documentation
Bubble Best Practices
v3.8
v3.8
  • Introduction
  • Key Features
  • What's New
  • Canvas Design System Figma File
  • CANVAS FUNCTIONALITY
    • Getting Started
    • Branding & Design
    • Marketing Pages
    • Bubble Pages & Blocks
    • Roles & Permissions
    • Menus & Navigation
    • Data & Workflows
    • Emails & Alerts
    • Privacy rule checker
    • Miscellaneous
      • Setting up two factor authentication
      • Cookie and consent banner
      • Setting your password policy
      • Set up Payment info on Account page
      • Loading screen
      • Configuring multiple languages
      • Customizing your app's portal page colors
    • Reference
      • Pages
        • Index
        • Admin Portal
        • Account
        • Login
        • Legal
        • Reset Password
        • 404
      • Reusable elements
        • Header
        • Footer
        • Signup & Login
        • Cookies Permission
        • Widgets
          • App security
          • Header Widgets
          • Workflow Widgets
        • Admin Portal
          • Admin analytics
          • Admin email & templates
          • Admin header & footer
          • Admin legal popups
          • Admin branding, launch, and settings
          • Admin marketing pages
          • Admin portal canvas logic
          • Admin options settings
        • Menu Focus Elements
      • Data types
      • Option Sets
      • Backend Workflows
      • Design standards
        • Manually Building UI
  • Bubble Best Practices
    • Learning Bubble Basics
    • Principles
    • Database
    • Design
    • Security
    • SEO
    • Speed
    • Modularity
      • Data triggers
  • Canvas library
    • Page templates
      • Free Bubble Marketing Page
      • Premium Bubble Marketing Page
      • Centered Profile Page
      • Left-Justified Profile Page
      • Standard page
      • Toggle Tabs Page
      • Menu Page
      • Mobile Menu Page
      • Video List Page
      • Standard Portal / Dashboard Page
      • Simple Portal / Dashboard Page with Icons
      • Double Sidebar Portal Page Template
      • Search Page
      • Map Search Page with Toggle and Filters
      • Floating Map Search Page
      • Search Bar Page
      • Multi-Step Page With Progress Bar
      • Standard Multi-Step Process Page
      • Multi-Step Process Page with Sidebar
      • Gallery Profile or Product Page
      • Sidebar Profile Page
      • 2-Column Menu Tabs Page
      • 2-Column Checkout Page
      • 2-Column Video Chat Page
      • Vertical Multi-Step Page Template
    • Blocks
      • Monthly Calendar Scheduling Widget
      • No Reply Comments Thread
      • Nested Comments Thread (with Like and Reply)
      • Placeholder Group
      • List with Circular Progress Bar Repeating Group
      • Top Input Chat Widget
      • Bottom Input Chat Widget
      • Toggle Tabs Group
      • Single-Select or Multi-Select Pill Tabs Group
      • Settings group
      • To-Do List Repeating Group
      • Title Group with Button and Filters
      • Product Details Group With Progress Bar
      • Listing details with Icons and Menu Focus Group
      • Week Daily Availability Group
      • Frequently Asked Questions (FAQ) Repeating Group
      • Dismissible Module
      • Video Group
      • About Group
      • Add to Cart Group
      • Full Width Map with Directions Link
      • Location Module (Map and Directions)
      • Drag and Drop Repeating Group
      • Infinite Columns Horizontal Scroll Data Table with Fixed First Column
      • Expiration timer
    • Popups
      • Confirmation Popup
      • Message Popup
      • Image Popup
      • Video Popup
      • Vertical Scroll Popup
      • Edit Popup
      • Standard Form Popup
      • Subscribe Popup
      • Feedback / Contact Popup
      • Details Popup
      • Add List Popup
      • Advanced Form Popup
      • Rating Popup
      • Toggle Tabs Popup
      • Share Popup
      • Multi-Step Popup
      • Invoice Popup
      • Stripe Credit Card Purchase Popup
      • View Profile Popup
      • Send Message Popup
      • Multi-Select Pill Tabs Popup
      • Pricing Plans Popup
Powered by GitBook
On this page
  • Overview
  • Structure
  • How to set up

Was this helpful?

  1. Canvas library
  2. Page templates

2-Column Checkout Page

Use this for checkout or numbered multi-step experiences.

Previous2-Column Menu Tabs PageNext2-Column Video Chat Page

Last updated 3 years ago

Was this helpful?

Overview

Responsive layout for a generic two-column product checkout page. Includes a sidebar for displaying the number of items in your cart, cart amount, and the ability to add a promo/discount code.

Please make sure you have added the Stripe plugin by Bubble in order to use the add payment method feature. Go to the Bubble editor of your app > Plugins tab > + Add plugins.

Structure

  • When this page is added to your app, it will come with three main groups:

    • Group Main checkout flow - This group contains the responsive settings for all checkout modules:

      • Group Main cart (step 1)_number This group allows users to review the items they have added to their carts. It includes common UI components for editing the quantity of an item and deleting an item from the user's cart. Clicking on Button SAVE/NEXT CART will hide Group Collapsible cart items and move the user to the next step of the checkout process. However, the user can always go back to edit his cart information by clicking on Button Edit cart.

      • Group Main shipping info (step 2)_number This group allows users to add or edit their shipping information. Clicking on Button SAVE/NEXT SHIPPING will hide Group Collapsible shipping and move the user to the next step of the checkout process. However, the user can always go back to edit his shipping information by clicking on Button Edit shipping.

      • Group Main shipping method (step 3)_number This group allows users to select a shipping method. Clicking on Button SAVE/NEXT METHOD will hide Group Collapsible method and move the user to the next step of the checkout process. However, the user can always go back to change his shipping method by clicking on Button Edit method.

      • Group Main payment method (step 4)_number This group allows users to add a credit card using the Stripe plugin built by Bubble. Users can click on Button Edit payment to add or edit their payment method in the stripe popup.

    • Group Responsive order confirmation - This group contains two main groups:

      • Group Main confirmation (step 5)_number This groups allows users to review their order information after placing an order. Users can click on Button CONTINUE SHOPPING to navigate away from this page (you would need to add workflows to the buttons).

      • Group page860Group - All additional modules you add to this page will be placed into this group.

    • FloatingGroup Main order summary sidebar - This group contains UI components for your order summary:

      • Group Inner promo code includes an input where users can enter a promo code

      • Group Inner promo code response includes UI for letting users know whether the promo code they've entered is valid or not

      • Group Main place order is for placing orders (you will need to add a workflow to this button later)

      • Group Sidebar PLACEHOLDER is a placeholder group in case you want to add more elements to the sidebar

      • Note: In order for the sidebar to display correctly, the top of the floating group should always be touching the top of the page. The bottom of the floating group should always touch the bottom of the page.

  • This page comes with one popup:

    • Popup Hidden Variables contains three groups:

      • var - Website object This group stores the website object (e.g., app name, primary color, and etc.)

      • var - dummy data A placeholder group in case you want to use any hidden variable groups later.

      • var - step This group stores a number. It represents the checkout process step (and it gets its value from the page parameter step).

How to set up

  • Shopping Cart Section

    • Update the text data source in Group Collapsible cart details

    • Update the data source of RepeatingGroup Cart Dummy.

    • Modify the elements within the repeating group to refer to current cell's data.

    • For demo purposes, the elements within the repeating group all have conditional statements (e.g., if current cell's index is 2 then change text to chair or keychain). Please remove all of those conditional statements.

    • Add workflows to Group Subtract item and Group Subtract item

    • Add workflow to Group delete item

    • Add workflows to update the cart information when Button SAVE/NEXT CART is clicked.

  • Shipping Information Section

    • Update the text elements and the display text data sources

    • Modify the input types if needed

    • Add workflows to save shipping information when Button SAVE/NEXT SHIPPING is clicked.

  • Shipping Method Section

    • Update the text elements and the display text data sources

    • Update the data source of RepeatingGroup Shipping Dummy

    • For demo purposes, the elements within the repeating group all have conditional statements (e.g., if current cell's index is 2 then change text expedited shipping). Please remove all of those conditional statements.

    • Add workflows to save shipping method when Button SAVE/NEXT METHOD is clicked.

  • Payment Method Section

    • Update the display text data sources

  • Sidebar Place Order

    • Update the display text data sources

    • Add workflow to Button Apply

    • Edit the text in Group Inner response bg color

    • Add workflows to Button PLACE ORDER

  • Order Confirmation Section

    • Update the data sources of the text elements

    • Add workflow to Button CONTINUE SHOPPING (or hide it if not needed)

  • [Optional] Processing screen Often times, you may need to integrate a third-party payments solution for checkout. Many of these would likely need to navigate the user to a separate page before redirecting the user back this page (e.g. Stripe). In the redirect flow, you may want to add a url parameter for 'tab=processing'. Additionally, you would include a conditional statement on Group Main processing tab (optional) similar to below:

  • The end result of what this UI would look like:

    • User presses PLACE ORDER

    • User is redirected to a separate page for payments

    • User is taken back to the checkout page with the '?tab=processing' url parameter

    • The processing tab shows up briefly (so they won't see the cart UI again)

    • User sees order confirmation screen

This page contains a lot of PLACEHOLDER groups. These groups are included to make it is easier for you to add new elements to existing groups. You would simply resize the placeholder groups to make space for the new elements. If you do add more elements, please ensure that no elements are overlapping with the placeholder groups otherwise responsiveness will not work properly on the page.

This page will come with the reusable element.

header