From 306c38c2b27689f4567b9936bf5b3c0a65279e57 Mon Sep 17 00:00:00 2001 From: Kevin Frantz Date: Sun, 15 Jul 2018 16:50:26 +0200 Subject: [PATCH] Implemented icons for basket products --- README.md | 17 ++++++++++------- src/entity/image/ImageInterface.php | 2 ++ src/entity/image/UrlImage.php | 6 ++++++ src/template/order/basket.html.twig | 2 ++ 4 files changed, 20 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5aeba37..85682e9 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,24 @@ Coding challenge for a online shop ### requirements 1. Create a web application with PHP which works like a really small online shop. ✓ 2. Create a database with at least 20 products automatically per script. ✓ -3. Create a product listing which display all products from the database. ✓
The following information are required: +3. Create a product listing which display all products from the database. ✓ +
The following information are required: - price net and gross ✓ - image ✓ - product name ✓ - color ✓ 4. Add a “to the basket” button to each product in the listing. ✓ 5. Make the product basket work and display all products which are in the basket as a list with -small images. +small images. ✓ 6. Create a login and registration with e-mail address, password and a name. ✓ 7. The login should be session based. ✓ 8. Create a checkout which is shown when the user is logged in. ✓ -9. The user should be able to choose between 2 payment methods. Call them method1 ✓ and +9. The user should be able to choose between 2 payment methods. ✓ +
Call them method1 ✓ and method2 ✓. 10. Store the order at the database. ✓ -11. Add a color filter to the product list. The user should be able to filter the listing with the existing colors. ✓ +11. Add a color filter to the product list.✓ +
The user should be able to filter the listing with the existing colors. ✓ ### specifications - Please use PHP ✓, MySQL ✓ and HTML ✓. You can also use CSS, JavaScript, Bootstrap ✓ and jQuery. - Save your code online at github. ✓ @@ -27,14 +30,14 @@ method2 ✓. - Use transactions if it makes sense. ✓ - Please cover your code with unit tests. ✓ ### time frame -one weekend +- one weekend ## start To run the program execute: ```bash bash ./start.sh ``` ### Attention -This is a demo program; Everytime when you start the demo the database will be reset. +This is a demo program; Everytime when you restart the demo the database will be reset. ### requirements The start.sh file needs docker and docker-compose. @@ -44,4 +47,4 @@ To run the tests execute: ```bash bash ./test.sh ``` -Tests just exist for the core and the entities. UnitTest you will find in the directory of the unit. +Tests just exist for the core, the entities and some other files. UnitTest you will find in the directory of the unit. diff --git a/src/entity/image/ImageInterface.php b/src/entity/image/ImageInterface.php index 5e84171..2a2f430 100644 --- a/src/entity/image/ImageInterface.php +++ b/src/entity/image/ImageInterface.php @@ -22,5 +22,7 @@ interface ImageInterface * @return string */ public function getThumbnail():string; + + public function getIcon():string; } diff --git a/src/entity/image/UrlImage.php b/src/entity/image/UrlImage.php index eff0d14..12a3868 100644 --- a/src/entity/image/UrlImage.php +++ b/src/entity/image/UrlImage.php @@ -31,5 +31,11 @@ final class UrlImage implements ImageInterface { $this->path = $path; } + + public function getIcon(): string + { + return str_replace('200/300', '50/50', $this->path); + } + } diff --git a/src/template/order/basket.html.twig b/src/template/order/basket.html.twig index 23a87d7..61de9fa 100644 --- a/src/template/order/basket.html.twig +++ b/src/template/order/basket.html.twig @@ -11,6 +11,7 @@ basket price(net) tax (%) price (gross) + image {% for product in basket.products %} @@ -19,6 +20,7 @@ basket {{product.price.netto.float}} {{product.price.netto.symbol}} {{product.price.tax}} {{product.price.gross.float}} {{product.price.gross.symbol}} + {% endfor %}