SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Flamingo Commerce Training
This Training includes examples that require to have
the commerce-demo-carotene running
https://github.com/i-love-flamingo/commerce-demo-carotene#run-local-from-source-code
Flamingo Commerce Training
• Product Module:
• Show a specific product (e.g. CMS)
• Understanding the Model
• Displaying Prices
• Showing product widgets
• Product Singe Page
• Access Attributes
• Configurables
• Cart:
• Adding via Ajax
• Show Tax / Shipping / Discounts
Product Model
Product Model
Product Model - PriceInfo
Render a product
Task:
Solution Hints:
Teaser a product on the „special offers“ page : http://localhost:3210/en/offers
• Look at the product package template functions

• product with marketplacecode „awesome-retailer_6981068“ - has special price
maintained if you want to display „Streichpreis“
List some products
Task:
Solution Hints:
List products on the offer page : http://localhost:3210/en/offers
• Use findProducts template function
List some products
https://www.krisshop.com/en/store/f1
Configurable 

selection by attribute dimensions
Task:
Solution Hints:
Change the product single view to show a select of color and size when opening the
congurable:

http://localhost:3210/en/product/hellokitty-congurable/hello-kitty.html
• debug the template variable „variantSelection“
Prices and Charges
5 €
Price: 50 Miles
Value: 5€
main:
Price 2 €
Value 2 €
loyalty:
Price 30 Miles
Value 3€
Prices and Charges
Round to currency
unit (e.g. cent)
Split in multiple prices.
E.g. 0.4 / 3 = 0.1+0.1+0.2
Flamingo Commerce Cart
Cart Model
Cart
Delivery
Items
• Multi Delivery Cart
• (Valued) Prices are present only on item level. All other prices are calculated
• Discounts are also per Item
Cart Model
Cart
• Cart is immutable: Only use CartService to receive or manipulate it
• The CartService acts also as the main „Secondary Port“ that need to be
implemented
• There is a „InmemoryCartService“ included as example
<<immutable>>
<<secondary port>>
CustomerCartService
<<secondary port>>
GuestCartService
Cart Model
Product
• Often you need the product data together with the item
• Use a DecoratedCart instead of Cart then
DecoratedCartFactory DecoratedCart
DecoratedItem
DecoratedDelivery
Item
Cart Module
Cart
• In the application service there is:
• support for caching the cart (in session)
• cartService that makes sure that after modifiing a cart it is updated in
cache
<<immutable>>
<<secondary
port>>
*CartService
CartReceiverService
CartCache
CartService
Cart Model
Show some more
cart prices
Task:
Solution Hints:
• Look at the cart package or the documentation
Cart PaymentSelection &

Payment
1.) The customer select a payment:
• this „wish“ of the customer need to be saved as „PaymentSelection“ on the cart

• A PaymentSelection can also contain the information about:

• which Charges a customer want to pay

• what (payment) method he wants to use

• For example he might want to pay the value of 50€:

• with 200 Miles using „milespayment“ (that match a value of 20€)

• and 20 € using Creditcart

• and 10€ using Paypal
2.) When placing the cart:
• a payment need to be passed with the correct Payment and Payment Transactions
(that matches the selection)
Cart 

PaymentSelection
Cart Payment
Cart Module
• The interface layer contains
• form and formhandlers (using flamingo.me/forms)
• controller and (ajax) apicontroller to work with the cart
CartApiController
CartController
BillingForm
DeliveryForm
PersonalDataForm
PaymentForm
CartService
Add a product to cart via ajax
Task:
Solution Hints:
Just add a product to cart with ajax and nd out whats happening

• print routes or look in module.go of cart package
Flamingo Commerce Checkout
Checkout (Module dep)
Cart Module
Checkout Module
Payment Module
Comes with a
default checkout
you may want to
use
Dene port for
WebPaymentGateway
Skip the review step
Task:
Solution Hints:
checkout form submit should just place the order
• check the configuration options
Customer should select
pickup location
Task:
Solution Hints:
Add a selection for pickup location, that gets persited in cart:
• check the delivery form inside cart package that is used there
Flamingo Commerce
and Magento
Magento 2 - Rest API
Flamingo commerce + Magento
Standalone Adapter
CartProduct Search
…
Magento Adapter
ProductRepository
Loader Adapter Cart Adapter
BetterCartAPI
Magento 2 - Rest API
Flamingo commerce + Magento
Flamingo B4F
Flamingo GraphQL
Next.js Frontend
Magento GraphQL
Headless CMS
Speed
Better Model
React Application

Weitere ähnliche Inhalte

Ähnlich wie Flamingo Commerce Training Product and Cart Modules

Shopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptxShopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptxShahram Foroozan
 
Shopify Theme Building Workshop
Shopify Theme Building WorkshopShopify Theme Building Workshop
Shopify Theme Building WorkshopKeir Whitaker
 
How to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with LitextensionHow to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with LitextensionLitExtension
 
Shopify Partner Social
Shopify Partner SocialShopify Partner Social
Shopify Partner SocialThe Working Party
 
YoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature Enhancements
YoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature EnhancementsYoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature Enhancements
YoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature EnhancementsYoKart - eCommerce Platform
 
WooCommerce template customization
WooCommerce template customizationWooCommerce template customization
WooCommerce template customizationRodolfo Melogli
 
A Tale of Two Shopping Carts - Cart66 vs WooCommerce
A Tale of Two Shopping Carts - Cart66 vs WooCommerceA Tale of Two Shopping Carts - Cart66 vs WooCommerce
A Tale of Two Shopping Carts - Cart66 vs WooCommerceAndrew Makar
 
Online shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxOnline shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxshubhanshusahu71
 
Google Checkout with Ruby on Rails
Google Checkout with Ruby on RailsGoogle Checkout with Ruby on Rails
Google Checkout with Ruby on RailsMarco Otte-Witte
 
Ajava oep shopping application
Ajava oep shopping applicationAjava oep shopping application
Ajava oep shopping applicationPaneliya Prince
 
C Soft E Commerce&amp;Web 201105
C Soft E Commerce&amp;Web 201105C Soft E Commerce&amp;Web 201105
C Soft E Commerce&amp;Web 201105buibadat
 
Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18
Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18
Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18Gary Thayer
 
Evolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkEvolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkPaolo Mottadelli
 
B2C-Commerce-Developer Dumps
B2C-Commerce-Developer DumpsB2C-Commerce-Developer Dumps
B2C-Commerce-Developer Dumpsaddisonkalven
 
PrestaShop features, demo and RetailOn extensions
PrestaShop features, demo and RetailOn extensionsPrestaShop features, demo and RetailOn extensions
PrestaShop features, demo and RetailOn extensionsRasbor.com
 
Cart creation-101217222728-phpapp01
Cart creation-101217222728-phpapp01Cart creation-101217222728-phpapp01
Cart creation-101217222728-phpapp01Jason Noble
 

Ähnlich wie Flamingo Commerce Training Product and Cart Modules (20)

Shopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptxShopify App Developments RoadMap2024.pptx
Shopify App Developments RoadMap2024.pptx
 
Shopify Theme Building Workshop
Shopify Theme Building WorkshopShopify Theme Building Workshop
Shopify Theme Building Workshop
 
How to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with LitextensionHow to migrate Yahoo Store to Shopify with Litextension
How to migrate Yahoo Store to Shopify with Litextension
 
Shopify Partner Social
Shopify Partner SocialShopify Partner Social
Shopify Partner Social
 
YoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature Enhancements
YoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature EnhancementsYoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature Enhancements
YoKart Multi-Vendor Marketplace Platform - New Upgrades & Feature Enhancements
 
OpenCart Ebay Connector Plugin
OpenCart Ebay Connector PluginOpenCart Ebay Connector Plugin
OpenCart Ebay Connector Plugin
 
Ajava oep
Ajava oep Ajava oep
Ajava oep
 
WooCommerce template customization
WooCommerce template customizationWooCommerce template customization
WooCommerce template customization
 
A Tale of Two Shopping Carts - Cart66 vs WooCommerce
A Tale of Two Shopping Carts - Cart66 vs WooCommerceA Tale of Two Shopping Carts - Cart66 vs WooCommerce
A Tale of Two Shopping Carts - Cart66 vs WooCommerce
 
Online shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptxOnline shopping e commerce website for cloth retail.pptx
Online shopping e commerce website for cloth retail.pptx
 
Google Checkout with Ruby on Rails
Google Checkout with Ruby on RailsGoogle Checkout with Ruby on Rails
Google Checkout with Ruby on Rails
 
Ajava oep shopping application
Ajava oep shopping applicationAjava oep shopping application
Ajava oep shopping application
 
C Soft E Commerce&amp;Web 201105
C Soft E Commerce&amp;Web 201105C Soft E Commerce&amp;Web 201105
C Soft E Commerce&amp;Web 201105
 
Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18
Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18
Woo for You: Customizing WooCommerce - Gary Thayer - WCNYC18
 
EVOLVE'13 | Enhance | Ecommerce Framework | Paolo Mottadelli
EVOLVE'13 | Enhance | Ecommerce Framework | Paolo MottadelliEVOLVE'13 | Enhance | Ecommerce Framework | Paolo Mottadelli
EVOLVE'13 | Enhance | Ecommerce Framework | Paolo Mottadelli
 
Evolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkEvolve13 cq-commerce-framework
Evolve13 cq-commerce-framework
 
B2C-Commerce-Developer Dumps
B2C-Commerce-Developer DumpsB2C-Commerce-Developer Dumps
B2C-Commerce-Developer Dumps
 
PrestaShop features, demo and RetailOn extensions
PrestaShop features, demo and RetailOn extensionsPrestaShop features, demo and RetailOn extensions
PrestaShop features, demo and RetailOn extensions
 
Shopify
ShopifyShopify
Shopify
 
Cart creation-101217222728-phpapp01
Cart creation-101217222728-phpapp01Cart creation-101217222728-phpapp01
Cart creation-101217222728-phpapp01
 

Mehr von i-love-flamingo

Graphql with Flamingo
Graphql with FlamingoGraphql with Flamingo
Graphql with Flamingoi-love-flamingo
 
Flamingo in Production
Flamingo in ProductionFlamingo in Production
Flamingo in Productioni-love-flamingo
 
Flamingo Core Concepts
Flamingo Core ConceptsFlamingo Core Concepts
Flamingo Core Conceptsi-love-flamingo
 
Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello Worldi-love-flamingo
 
Flamingo Commerce Intro
Flamingo Commerce IntroFlamingo Commerce Intro
Flamingo Commerce Introi-love-flamingo
 
Flamingo Commerce Ports and Adapters
Flamingo Commerce Ports and AdaptersFlamingo Commerce Ports and Adapters
Flamingo Commerce Ports and Adaptersi-love-flamingo
 
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...i-love-flamingo
 
Flamingo Hello World Tutorial
Flamingo Hello World TutorialFlamingo Hello World Tutorial
Flamingo Hello World Tutoriali-love-flamingo
 

Mehr von i-love-flamingo (9)

Graphql with Flamingo
Graphql with FlamingoGraphql with Flamingo
Graphql with Flamingo
 
Flamingo in Production
Flamingo in ProductionFlamingo in Production
Flamingo in Production
 
Flamingo Core Concepts
Flamingo Core ConceptsFlamingo Core Concepts
Flamingo Core Concepts
 
Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello World
 
Flamingo Carotene
Flamingo CaroteneFlamingo Carotene
Flamingo Carotene
 
Flamingo Commerce Intro
Flamingo Commerce IntroFlamingo Commerce Intro
Flamingo Commerce Intro
 
Flamingo Commerce Ports and Adapters
Flamingo Commerce Ports and AdaptersFlamingo Commerce Ports and Adapters
Flamingo Commerce Ports and Adapters
 
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...
Flamingo Microservice based E-Commerce / Motivations,Backgrounds, Short Intro...
 
Flamingo Hello World Tutorial
Flamingo Hello World TutorialFlamingo Hello World Tutorial
Flamingo Hello World Tutorial
 

KĂźrzlich hochgeladen

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

KĂźrzlich hochgeladen (20)

Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Flamingo Commerce Training Product and Cart Modules

  • 1.
  • 2. Flamingo Commerce Training This Training includes examples that require to have the commerce-demo-carotene running https://github.com/i-love-flamingo/commerce-demo-carotene#run-local-from-source-code
  • 3. Flamingo Commerce Training • Product Module: • Show a specic product (e.g. CMS) • Understanding the Model • Displaying Prices • Showing product widgets • Product Singe Page • Access Attributes • Congurables • Cart: • Adding via Ajax • Show Tax / Shipping / Discounts
  • 6. Product Model - PriceInfo
  • 7. Render a product Task: Solution Hints: Teaser a product on the „special offers“ page : http://localhost:3210/en/offers • Look at the product package template functions • product with marketplacecode „awesome-retailer_6981068“ - has special price maintained if you want to display „Streichpreis“
  • 8. List some products Task: Solution Hints: List products on the offer page : http://localhost:3210/en/offers • Use ndProducts template function
  • 10. Configurable 
 selection by attribute dimensions Task: Solution Hints: Change the product single view to show a select of color and size when opening the congurable: http://localhost:3210/en/product/hellokitty-congurable/hello-kitty.html • debug the template variable „variantSelection“
  • 11. Prices and Charges 5 € Price: 50 Miles Value: 5€ main: Price 2 € Value 2 € loyalty: Price 30 Miles Value 3€
  • 12. Prices and Charges Round to currency unit (e.g. cent) Split in multiple prices. E.g. 0.4 / 3 = 0.1+0.1+0.2
  • 14. Cart Model Cart Delivery Items • Multi Delivery Cart • (Valued) Prices are present only on item level. All other prices are calculated • Discounts are also per Item
  • 15. Cart Model Cart • Cart is immutable: Only use CartService to receive or manipulate it • The CartService acts also as the main „Secondary Port“ that need to be implemented • There is a „InmemoryCartService“ included as example <<immutable>> <<secondary port>> CustomerCartService <<secondary port>> GuestCartService
  • 16. Cart Model Product • Often you need the product data together with the item • Use a DecoratedCart instead of Cart then DecoratedCartFactory DecoratedCart DecoratedItem DecoratedDelivery Item
  • 17. Cart Module Cart • In the application service there is: • support for caching the cart (in session) • cartService that makes sure that after modiing a cart it is updated in cache <<immutable>> <<secondary port>> *CartService CartReceiverService CartCache CartService
  • 19. Show some more cart prices Task: Solution Hints: • Look at the cart package or the documentation
  • 20. Cart PaymentSelection &
 Payment 1.) The customer select a payment: • this „wish“ of the customer need to be saved as „PaymentSelection“ on the cart • A PaymentSelection can also contain the information about: • which Charges a customer want to pay • what (payment) method he wants to use • For example he might want to pay the value of 50€: • with 200 Miles using „milespayment“ (that match a value of 20€) • and 20 € using Creditcart • and 10€ using Paypal 2.) When placing the cart: • a payment need to be passed with the correct Payment and Payment Transactions (that matches the selection)
  • 23. Cart Module • The interface layer contains • form and formhandlers (using flamingo.me/forms) • controller and (ajax) apicontroller to work with the cart CartApiController CartController BillingForm DeliveryForm PersonalDataForm PaymentForm CartService
  • 24. Add a product to cart via ajax Task: Solution Hints: Just add a product to cart with ajax and nd out whats happening • print routes or look in module.go of cart package
  • 26. Checkout (Module dep) Cart Module Checkout Module Payment Module Comes with a default checkout you may want to use Dene port for WebPaymentGateway
  • 27. Skip the review step Task: Solution Hints: checkout form submit should just place the order • check the conguration options
  • 28. Customer should select pickup location Task: Solution Hints: Add a selection for pickup location, that gets persited in cart: • check the delivery form inside cart package that is used there
  • 30. Magento 2 - Rest API Flamingo commerce + Magento Standalone Adapter CartProduct Search … Magento Adapter ProductRepository Loader Adapter Cart Adapter BetterCartAPI
  • 31. Magento 2 - Rest API Flamingo commerce + Magento Flamingo B4F Flamingo GraphQL Next.js Frontend Magento GraphQL Headless CMS Speed Better Model React Application