SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Cart – Shopping Cart for TYPO3
Presentation of the Cart extension
TYPO3camp Vienna - #t3cvie
7th May 2016
7th May 2016Shopping Cart for TYPO32
Cart – Shopping Cart for TYPO3
● What is Cart for?
● What is different to other shopping extensions?
● What has been changed?
● Product Models
● Order Models
● Hands On
● Unit Tests
● Things that are to do.
23th Feb. 2016Shopping Cart for TYPO33
What has been changed?
wt_cart
● pibase-Extenion with some Models for
cart representation
● HTML-Marker-Templates
● dependence on powermail-Extension
● several additional extensions for products,
order and payment provider
Cart
● extbase-Extension with structured models
● Fluid-Templates with default-Template and
examples for Foundation and Bootstrap
● no dependencies to other extensions
● provide models for products, orders and
payment
● provide a coupon model for cart
● provide some Backend-Modules for
handling products and orders
● ready for TYPO3 7.x
⇒
23th Feb. 2016Shopping Cart for TYPO34
What has been changed?
wt_cart
● 3 extensions (wt_cart, wt_cart_product
and wt_cart_order) must be configured.
● 1 huge pi1-function handles complete
workflow for handling and rendering cart.
● Nearly 1,000 lines of TypoScript code to
configure wt_cart and the rendering.
wt_cart_product and wt_cart_order not
included.
Cart
● 1 main extension Cart provides all the
necessary 28 models.
● 3 controller Classes handles the workflow
for all parts of products, cart and order.
● Only 250 lines of TypoScript for configuring
cart with internal product model.
● 5 FE-Plugins to show “Cart”, “Mini-Cart”,
“Product”, “FlexProduct” and “Order”
● 3 (*/-) BE-Moduls
⇒
23th Feb. 2016Shopping Cart for TYPO35
Product Models
● sku, title, teaser and description
● add tt_content and images
● product prices and limitations
● min and max products per order
● special prices
● measurement and baseprice configuration
● stock handling
● variants and frontend-variants
● categories
23th Feb. 2016Shopping Cart for TYPO36
Order Models
● user
● order number, order date, invoice number and
invoice date
● addresses for billing and shipping
● all prices, taxes and tax classes
● all products
● payment and shipping
23th Feb. 2016Shopping Cart for TYPO37
Hands On
Frontend:
http://local.cart7.extco.de
Backend:
http://local.cart7.extco.de/typo3
23th Feb. 2016Shopping Cart for TYPO38
Unit-Tests
Cart provides 381 Unit-Tests for testing the domain models
(product, cart and order). Not all relevant calculations are currently
being tested. Many more tests will be added in the next weeks.
Controller Tests are still missing completely and will be added too.
23th Feb. 2016Shopping Cart for TYPO39
Unit Tests (CartTest.php excerpt)
●
...
●
public function getCouponsInitialyReturnsEmptyArray();
●
public function addCouponAddsNewCoupon();
●
public function addSameCouponReturnsReturnCodeOne();
●
public function addSameCouponDoesNotChangeCouponNumberInCart();
●
public function addSameCouponReturnsErrorCodeMinusOne();
●
public function
addSecondNotCombinableCoupon
DoesNotChangeCouponNumberInCart();
●
public function
addSecondNotCombinableCouponReturns
ReturnErrorCodeMinusTwo();
●
public function
addSecondCombinableCouponToNotCombinableCoupons
DoesNotChangeCouponNumberInCart();
●
public function
addSecondCombinableCouponToNotCombinableCoupons
ReturnsReturnErrorCodeMinusTwo();
●
public function addSecondCombinableCouponAddsCoupon();
●
public function getCouponGrossInitialyReturnsZero();
●
…
/**
* @test
*/
public function addSameCouponDoesNotChangeCouponNumberInCart()
{
$coupon = $this->getMock(
'ExtcodeCartDomainModelProductCoupon',
array('getCode', 'getTitle', 'getDiscount', 'getTaxClassId'),
array(),
'',
false
);
$coupon->expects($this->any())->method('getCode')->will($this->returnValue('couponCode'));
$coupon->expects($this->any())->method('getTitle')->will($this->returnValue('couponTitle'));
$coupon->expects($this->any())->method('getDiscount')->will($this->returnValue(10.0));
$coupon->expects($this->any())->
method('getTaxClassId')->
will($this->returnValue($this->normalTaxClass->getId()));
$this->grossCart->addCoupon($coupon);
$this->grossCart->addCoupon($coupon);
$this->assertCount(
1,
$this->grossCart->getCoupons()
);
$this->netCart->addCoupon($coupon);
$this->netCart->addCoupon($coupon);
$this->assertCount(
1,
$this->netCart->getCoupons()
);
}
23th Feb. 2016Shopping Cart for TYPO310
Things that are to do.
Open Beta
● stable data model
● no errors in price calculation
Release Candidate
● adding products through AJAX-requests
● add multiple products with one request to cart
● check cart before complete order
● stock handling and testing behavior
● documentation, documentation, documentation
(for administrators, integrators and users)
Features
● updating cart through AJAX-requests
● edit FE-variants in cart
● notification for stock handling
● CartPaypal (Closed Beta), CartAmazon, …
● CartPdf for generating order and invoice PDF
documents
● further development of the backend modules
23th Feb. 2016Shopping Cart for TYPO311
Cart in the web
GitHub:
https://github.com/extcode/cart
Slack:
https://typo3.slack.com/messages/ext-cart/
Twitter:
https://twitter.com/ext_cart
https://twitter.com/extcoder
23th Feb. 2016Shopping Cart for TYPO312
Thank you.
A big thanks goes to the Tritum GmbH
http://www.tritum.de
and the Closed Beta tester.
23th Feb. 2016Shopping Cart for TYPO313
Time for questions and suggestions.

Weitere ähnliche Inhalte

Kürzlich hochgeladen

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
 
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.
 
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
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
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
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
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
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 

Kürzlich hochgeladen (20)

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
 
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...
 
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...
 
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
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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...
 
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
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
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
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 

Empfohlen

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

20160507 - Presentation Slides about Shopping Cart for TYPO3

  • 1. Cart – Shopping Cart for TYPO3 Presentation of the Cart extension TYPO3camp Vienna - #t3cvie 7th May 2016
  • 2. 7th May 2016Shopping Cart for TYPO32 Cart – Shopping Cart for TYPO3 ● What is Cart for? ● What is different to other shopping extensions? ● What has been changed? ● Product Models ● Order Models ● Hands On ● Unit Tests ● Things that are to do.
  • 3. 23th Feb. 2016Shopping Cart for TYPO33 What has been changed? wt_cart ● pibase-Extenion with some Models for cart representation ● HTML-Marker-Templates ● dependence on powermail-Extension ● several additional extensions for products, order and payment provider Cart ● extbase-Extension with structured models ● Fluid-Templates with default-Template and examples for Foundation and Bootstrap ● no dependencies to other extensions ● provide models for products, orders and payment ● provide a coupon model for cart ● provide some Backend-Modules for handling products and orders ● ready for TYPO3 7.x ⇒
  • 4. 23th Feb. 2016Shopping Cart for TYPO34 What has been changed? wt_cart ● 3 extensions (wt_cart, wt_cart_product and wt_cart_order) must be configured. ● 1 huge pi1-function handles complete workflow for handling and rendering cart. ● Nearly 1,000 lines of TypoScript code to configure wt_cart and the rendering. wt_cart_product and wt_cart_order not included. Cart ● 1 main extension Cart provides all the necessary 28 models. ● 3 controller Classes handles the workflow for all parts of products, cart and order. ● Only 250 lines of TypoScript for configuring cart with internal product model. ● 5 FE-Plugins to show “Cart”, “Mini-Cart”, “Product”, “FlexProduct” and “Order” ● 3 (*/-) BE-Moduls ⇒
  • 5. 23th Feb. 2016Shopping Cart for TYPO35 Product Models ● sku, title, teaser and description ● add tt_content and images ● product prices and limitations ● min and max products per order ● special prices ● measurement and baseprice configuration ● stock handling ● variants and frontend-variants ● categories
  • 6. 23th Feb. 2016Shopping Cart for TYPO36 Order Models ● user ● order number, order date, invoice number and invoice date ● addresses for billing and shipping ● all prices, taxes and tax classes ● all products ● payment and shipping
  • 7. 23th Feb. 2016Shopping Cart for TYPO37 Hands On Frontend: http://local.cart7.extco.de Backend: http://local.cart7.extco.de/typo3
  • 8. 23th Feb. 2016Shopping Cart for TYPO38 Unit-Tests Cart provides 381 Unit-Tests for testing the domain models (product, cart and order). Not all relevant calculations are currently being tested. Many more tests will be added in the next weeks. Controller Tests are still missing completely and will be added too.
  • 9. 23th Feb. 2016Shopping Cart for TYPO39 Unit Tests (CartTest.php excerpt) ● ... ● public function getCouponsInitialyReturnsEmptyArray(); ● public function addCouponAddsNewCoupon(); ● public function addSameCouponReturnsReturnCodeOne(); ● public function addSameCouponDoesNotChangeCouponNumberInCart(); ● public function addSameCouponReturnsErrorCodeMinusOne(); ● public function addSecondNotCombinableCoupon DoesNotChangeCouponNumberInCart(); ● public function addSecondNotCombinableCouponReturns ReturnErrorCodeMinusTwo(); ● public function addSecondCombinableCouponToNotCombinableCoupons DoesNotChangeCouponNumberInCart(); ● public function addSecondCombinableCouponToNotCombinableCoupons ReturnsReturnErrorCodeMinusTwo(); ● public function addSecondCombinableCouponAddsCoupon(); ● public function getCouponGrossInitialyReturnsZero(); ● … /** * @test */ public function addSameCouponDoesNotChangeCouponNumberInCart() { $coupon = $this->getMock( 'ExtcodeCartDomainModelProductCoupon', array('getCode', 'getTitle', 'getDiscount', 'getTaxClassId'), array(), '', false ); $coupon->expects($this->any())->method('getCode')->will($this->returnValue('couponCode')); $coupon->expects($this->any())->method('getTitle')->will($this->returnValue('couponTitle')); $coupon->expects($this->any())->method('getDiscount')->will($this->returnValue(10.0)); $coupon->expects($this->any())-> method('getTaxClassId')-> will($this->returnValue($this->normalTaxClass->getId())); $this->grossCart->addCoupon($coupon); $this->grossCart->addCoupon($coupon); $this->assertCount( 1, $this->grossCart->getCoupons() ); $this->netCart->addCoupon($coupon); $this->netCart->addCoupon($coupon); $this->assertCount( 1, $this->netCart->getCoupons() ); }
  • 10. 23th Feb. 2016Shopping Cart for TYPO310 Things that are to do. Open Beta ● stable data model ● no errors in price calculation Release Candidate ● adding products through AJAX-requests ● add multiple products with one request to cart ● check cart before complete order ● stock handling and testing behavior ● documentation, documentation, documentation (for administrators, integrators and users) Features ● updating cart through AJAX-requests ● edit FE-variants in cart ● notification for stock handling ● CartPaypal (Closed Beta), CartAmazon, … ● CartPdf for generating order and invoice PDF documents ● further development of the backend modules
  • 11. 23th Feb. 2016Shopping Cart for TYPO311 Cart in the web GitHub: https://github.com/extcode/cart Slack: https://typo3.slack.com/messages/ext-cart/ Twitter: https://twitter.com/ext_cart https://twitter.com/extcoder
  • 12. 23th Feb. 2016Shopping Cart for TYPO312 Thank you. A big thanks goes to the Tritum GmbH http://www.tritum.de and the Closed Beta tester.
  • 13. 23th Feb. 2016Shopping Cart for TYPO313 Time for questions and suggestions.