summaryrefslogtreecommitdiff
path: root/public/app/controllers/Product.php
blob: 0193ed9918c208db1a07d79ace59449552fbaa57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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
                    ]
                ]
            ]
        ]);
        
    }

    
}