49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			49 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | namespace app\widget; | ||
|  | 
 | ||
|  | 
 | ||
|  | use app\model\Category; | ||
|  | use think\facade\{Db,View, Cache}; | ||
|  | 
 | ||
|  | class Menu | ||
|  | { | ||
|  |     public function index($categoryId) | ||
|  |     { | ||
|  |         $menus = Cache::get('rules'); | ||
|  |         if(empty($menus)){ | ||
|  |             $menus = Category::getListForFrontMenu(); | ||
|  |         } | ||
|  |         $currentFirstId = 0; | ||
|  |         if (is_numeric($categoryId) && $categoryId > 0) { | ||
|  |             $currentFirstId = Category::firstGradeById($categoryId); | ||
|  |         } | ||
|  | 
 | ||
|  |         //产品菜单
 | ||
|  | 
 | ||
|  |         $product_children=Category::alias('c') | ||
|  |             ->leftJoin('model m', 'c.model_id=m.id') | ||
|  |             ->field('c.*, m.manager, m.template, m.name as modelName') | ||
|  |             ->where('c.parent_id', 5) | ||
|  |             ->order('c.sort','asc') | ||
|  |             ->select() | ||
|  |             ->toArray(); | ||
|  | 
 | ||
|  |         $data = [ | ||
|  |             'categoryId' => $categoryId, | ||
|  |             'menus' => $menus, | ||
|  |             'product_children' => $product_children?$product_children:[], | ||
|  |         ]; | ||
|  | 
 | ||
|  | 
 | ||
|  |         $this_menu=  \app\model\Category::alias('c') | ||
|  |             ->leftJoin('model m', 'c.model_id=m.id') | ||
|  |             ->field('c.*, m.manager, m.name as modelName') | ||
|  |             ->when(3, function($query)  { | ||
|  |                 $query->whereIn('c.id', []); | ||
|  |             }) | ||
|  |             ->order('sort','asc') | ||
|  |             ->select() | ||
|  |             ->toArray(); | ||
|  |         return View::assign($data)->fetch('public/menu'); | ||
|  |     } | ||
|  | } |