SlideShare a Scribd company logo
1 of 31
Download to read offline
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
configurable:

http://localhost:3210/en/product/hellokitty-configurable/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 find 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
Define 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

More Related Content

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

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

More from i-love-flamingo

Flamingo Training - Hello World
Flamingo Training - Hello WorldFlamingo Training - Hello World
Flamingo Training - Hello Worldi-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
 

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

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
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
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
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
 
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
 
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
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
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
 
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
 
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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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...
 
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 ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
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
 
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 🔝✔️✔️
 
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 ...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
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
 
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
 
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
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

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 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
  • 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 findProducts 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 configurable: http://localhost:3210/en/product/hellokitty-configurable/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 modifiing 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 find 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 Define port for WebPaymentGateway
  • 27. Skip the review step Task: Solution Hints: checkout form submit should just place the order • check the configuration 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