/** * Просмотр продуктов заданной категории * формат URL /product/view_products_by_category/<имя категории>/<тип - html или json> * @param $req */ public function view_products_by_category($req) { Auth::check_token(); $category_name = category::normalize_urlencode($req[0]); $type = isset($req[0]) && in_array($req[1], ['json', 'html']) ? $req[1] : 'json'; //указан ли вид и правильно ли $db = new T2_Db(); $category = $db->select_category_by_name($category_name); if (!$category) { echo json_encode(['result' => 'error', 'msg' => 'category does not exist']); die; } $products = $db->select_products_by_category_id($category['id']); if (!$products) { echo json_encode(['result' => 'error', 'msg' => 'no products in this category']); die; } if ($type == 'json') { echo json_encode(['result' => 'ok', 'product' => $products]); die; } $tpl = new Tpl_Obj(); $tpl->display('common/page_header.tpl'); $tpl->assign('products', $products); $tpl->display('product_view/prod_by_cat.tpl'); $tpl->display('common/page_footer.tpl'); }
/** * Просмотр категорий * формат URL /category/view/<тип - json или html>/<порядок - asc или desc> * @param $req */ public function view($req) { $type = isset($req[0]) && in_array($req[0], ['json', 'html']) ? $req[0] : 'json'; //указан ли вид и правильно ли $order = isset($req[1]) && in_array($req[1], ['asc', 'desc']) ? $req[1] : 'asc'; //указан ли порядок и правильно ли $db = new T2_Db(); $categories = $db->category_view($order); if ($type == 'json') { echo json_encode($categories); die; } //далее - если явно указан вид html $tpl = new Tpl_Obj(); $tpl->display('common/page_header.tpl'); $tpl->assign('categories', $categories); $tpl->display('category_view/cats_table.tpl'); $tpl->display('common/page_footer.tpl'); }