42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
| <?php
 | |
| namespace app\widget\manager;
 | |
| 
 | |
| use app\model\{Category, AuthRule};
 | |
| use think\facade\View;
 | |
| 
 | |
| class Crumbs
 | |
| {
 | |
|     public function index()
 | |
|     {
 | |
|         $request = request();
 | |
|         $controller = strtolower($request->controller());
 | |
|         $action = strtolower($request->action());
 | |
|         $controller = str_replace('manager.', '', $controller);
 | |
|         $name = $controller . '/' . $action;
 | |
|         if($action == 'index'){
 | |
|             $rule = AuthRule::getByTwoName($name, $controller);
 | |
|         }else{
 | |
|             $rule = AuthRule::getByName($name);
 | |
|         }
 | |
|         $parent = [];
 | |
|         if(!empty($rule) && $rule['parent_id']){
 | |
|             $parent = AuthRule::getById($rule['parent_id']);
 | |
|         }
 | |
|         $cateCrumbs = [];
 | |
|         $isContent = false;
 | |
|         if($controller == 'content') {
 | |
|             $isContent = true;
 | |
|             $categoryId = $request->param('category_id', 0);
 | |
|             if (is_numeric($categoryId) && $categoryId > 0) {
 | |
|                 $cateCrumbs = Category::getCatesCrumbs($categoryId);
 | |
|             }
 | |
|         }
 | |
|         $data = [
 | |
|             'rule' => $rule,
 | |
|             'parent' => $parent,
 | |
|             'isContent' => $isContent,
 | |
|             'cateCrumbs' => $cateCrumbs
 | |
|         ];
 | |
|         return View::assign($data)->fetch('manager/widget/crumbs');
 | |
|     }
 | |
| } |