44 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			44 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 = unCamelize($request->controller());
							 | 
						||
| 
								 | 
							
								        $action     = unCamelize($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');
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |