chaoyu/app/widget/manager/Crumbs.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');
}
}