diff options
| author | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-17 12:12:22 +0300 |
|---|---|---|
| committer | George Halkiadakis <gchalkiadakis@sklavenitis.co.gr> | 2023-04-17 12:12:22 +0300 |
| commit | 68fc9e55e538e03f94509731ab41a0c8cf96710f (patch) | |
| tree | 3edb1e81864ac3eb35ba0fe8087ed24da1b812bf /public/app/controllers/Product.php | |
| parent | 84b2da85a1b452922dadb6a609533b9945afe51d (diff) | |
| download | classroom-68fc9e55e538e03f94509731ab41a0c8cf96710f.tar.gz classroom-68fc9e55e538e03f94509731ab41a0c8cf96710f.tar.bz2 classroom-68fc9e55e538e03f94509731ab41a0c8cf96710f.zip | |
setup a real server environment (apache DocumentRoot=/var/www/public)
Diffstat (limited to 'public/app/controllers/Product.php')
| -rw-r--r-- | public/app/controllers/Product.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/public/app/controllers/Product.php b/public/app/controllers/Product.php new file mode 100644 index 0000000..0193ed9 --- /dev/null +++ b/public/app/controllers/Product.php @@ -0,0 +1,52 @@ +<?php + +namespace app\controllers; + +use app\models\market\Product_model; +use app\models\market\ProductCategories_model; + +class Product { + + public static function fromUrl($url, $pathArr) + { + $product = proxy([\app\models\market\Product_model::class, 'fromUrl'], + [ $url ], CACHE_PRODUCT_TTL + ); + + // TODO: + // verify path, else redirect + + if ($product === false) { + header("HTTP/1.0 404 Not Found"); + render_view('error/404', ['message' => 'Of all the things I\'ve lost, I miss my mind the most.']); + return ; + } + + // render page + load_template('products', [ 'data' => [ + 'title' => $product['Title'], + 'seo' => [], + 'tree' => proxy( + [\app\models\market\ProductCategories_model::class, 'tree'], + [], CACHE_ROOT_TTL + ), + 'hierarchyPath' => explode('.', substr($product['Hierarchy'], 1, -1)), + 'sections' => [ + [ + 'view' => 'content/product_list/Product_List_Filters', + 'key' => 'filters', + 'data' => [] + ], + [ + 'view' => 'content/product/product_details', + 'key' => 'product', + 'data' => $product + ] + ] + ] + ]); + + } + + +} |
