Beispiel #1
0
//$view->set('categories', $categories);
//$view->set('pages', $pages);
// global config
/* routes */
// home route
$app->get('/(:page)', function ($page = 1) use($tdk, $app) {
    $app->render("index.html.twig", ['products' => $tdk->makeProducts($page)]);
})->name("home");
//category route
$app->get('/category/:slug(/:page)', function ($slug, $page = 1) use($tdk, $app) {
    $products = $tdk->makeProducts($page);
    $app->render("category.html.twig", ['products' => $products, 'category' => ["name" => $tdk->getFaker()->word, "slug" => $slug]]);
})->name("category");
// product detail route
$app->get('/product/:slug', function ($slug) use($tdk, $app) {
    $product = $tdk->makeProduct();
    $related = $tdk->makeProducts(1, 3);
    $app->render("product.html.twig", ['product' => $product, 'relatedProducts' => $related]);
})->name("product_detail");
// add to cart route
$app->post('/basket/add', function () use($app, $faker) {
    $productId = $app->request->post('product_id');
    $quantity = $app->request->post('product_quantity');
    if (!$productId) {
        throw new \Exception("The route 'add_to_basket' requires 'product_id' to be passed. ");
    }
    if (!$quantity) {
        throw new \Exception("The route 'add_to_basket' requires 'product_quantity' to be passed. ");
    }
    $app->response->redirect('/basket', 302);
})->name("add_to_basket");