43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
<?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');
 | 
						|
    }
 | 
						|
} |