URL

The URL depends on whether the product is a course:

/app/catalog/courses/:product_id

a learning path:

/app/catalog/learning_paths/:product_id

or a bundle:

/app/catalog/bundles/:product_id

Screenshot

Structure

bundle_product.html.liquid
├── _header.html.liquid
├── _bundle_product_desktop_view.html.liquid
│   ├── _bundle_desktop_header.html.liquid
│   ├── _bundle_description.html.liquid
│   ├── _product_price_and_cta.html.liquid
│   └── _bundle_product_outline.html.liquid
│       ├── _product_outline_course.html.liquid
│       ├── _product_outline_event.html.liquid
│       └── _product_outbline_lp.html.liquid
├── _bundle_product_mobile_view.html.liquid
│   ├── _product_price_and_cta.html.liquid
│   ├── _bundle_description.html.liquid
│   └── _bundle_product_outline.html.liquid
│       ├── _product_outline_course.html.liquid
│       ├── _product_outline_event.html.liquid
│       └── _product_outbline_lp.html.liquid
└── _footer.html.liquid
course_product.html.liquid
├── _header.html.liquid
├── _course_product_desktop_view.html.liquid
│   ├── _course_header.html.liquid
│   ├── _course_description.html.liquid
│   ├── _course_categories.html.liquid
│   ├── _course_instructors.html.liquid
│   ├── _course_events.html.liquid
│   ├── _product_price_and_cta.html.liquid
│   └── _product_outline.html.liquid
│       └── _course_activity_locked.html.liquid
├── _course_product_mobile_view.html.liquid
│   ├── _course_header.html.liquid
│   ├── _product_price_and_cta.html.liquid
│   ├── _course_description.html.liquid
│   ├── _product_outline.html.liquid
│   │   └── _course_activity_locked.html.liquid
│   ├── _course_categories.html.liquid
│   ├── _course_instructors.html.liquid
│   └── _course_events.html.liquid
└── _footer.html.liquid
learning_path_product.html.liquid
├── _header.html.liquid
├── _learning_path_product_desktop_view.html.liquid
│   ├── _learning_path_desktop_header.html.liquid
│   ├── _learning_path_description.html.liquid
│   ├── _learning_path_instructors.html.liquid
│   ├── _product_price_and_cta.html.liquid
│   └── _learning_path_product_outline.html.liquid
│       ├── _product_outline_course.html.liquid
│       └── _product_outline_event.html.liquid
├── _learning_path_product_mobile_view.html.liquid
│   ├── _product_price_and_cta.html.liquid
│   ├── _learning_path_description.html.liquid
│   ├── _learning_path_product_outline.html.liquid
│   │   ├── _product_outline_course.html.liquid
│   │   └── _product_outline_event.html.liquid
│   └── _learning_path_instructors.html.liquid
└── _footer.html.liquid

Template Considerations

This template exposes a product variable. You can learn about its attributes here: Product.

This template uses not customizable custom tags for handling adding product to cart: {% commerce_add_to_cart %} and {% commerce_buy_more_access %}.