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');
|
|
}
|
|
} |