Category.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace app\admin\controller;
  3. use app\common\controller\Backend;
  4. use app\common\model\Category as CategoryModel;
  5. use fast\Tree;
  6. /**
  7. * 分类管理
  8. *
  9. * @icon fa fa-list
  10. * @remark 用于统一管理网站的所有分类,分类可进行无限级分类
  11. */
  12. class Category extends Backend
  13. {
  14. protected $model = null;
  15. protected $categorylist = [];
  16. protected $noNeedRight = ['selectpage'];
  17. public function _initialize()
  18. {
  19. parent::_initialize();
  20. $this->request->filter(['strip_tags']);
  21. $this->model = model('Category');
  22. $tree = Tree::instance();
  23. $tree->init(collection($this->model->order('weigh desc,id desc')->select())->toArray(), 'pid');
  24. $this->categorylist = $tree->getTreeList($tree->getTreeArray(0), 'name');
  25. $categorydata = [0 => ['type' => 'all', 'name' => __('None')]];
  26. foreach ($this->categorylist as $k => $v) {
  27. $categorydata[$v['id']] = $v;
  28. }
  29. $this->view->assign("flagList", $this->model->getFlagList());
  30. $this->view->assign("typeList", CategoryModel::getTypeList());
  31. $this->view->assign("parentList", $categorydata);
  32. }
  33. /**
  34. * 查看
  35. */
  36. public function index()
  37. {
  38. if ($this->request->isAjax()) {
  39. $search = $this->request->request("search");
  40. //构造父类select列表选项数据
  41. $list = [];
  42. if ($search) {
  43. foreach ($this->categorylist as $k => $v) {
  44. if (stripos($v['name'], $search) !== false || stripos($v['nickname'], $search) !== false) {
  45. $list[] = $v;
  46. }
  47. }
  48. } else {
  49. $list = $this->categorylist;
  50. }
  51. $total = count($list);
  52. $result = array("total" => $total, "rows" => $list);
  53. return json($result);
  54. }
  55. return $this->view->fetch();
  56. }
  57. /**
  58. * Selectpage搜索
  59. *
  60. * @internal
  61. */
  62. public function selectpage()
  63. {
  64. return parent::selectpage();
  65. }
  66. }