ArticleController.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Models\Article;
  4. use Encore\Admin\Controllers\AdminController;
  5. use Encore\Admin\Form;
  6. use Encore\Admin\Grid;
  7. use Encore\Admin\Show;
  8. class ArticleController extends AdminController
  9. {
  10. /**
  11. * Title for current resource.
  12. *
  13. * @var string
  14. */
  15. protected $title = 'Article';
  16. /**
  17. * Make a grid builder.
  18. *
  19. * @return Grid
  20. */
  21. protected function grid()
  22. {
  23. $grid = new Grid(new Article());
  24. $grid->column('id', __('Id'));
  25. $grid->column('type', __('分类'));
  26. $grid->column('title', __('标题'))->limit(10,'...')->width(100);
  27. $grid->column('content', __('内容'))->limit(20,'...')->width(200);
  28. $grid->column('banner_url', __('图片'))->image('',50,50);
  29. $grid->column('created_at', __('创建时间'));
  30. $grid->column('updated_at', __('更新时间'));
  31. return $grid;
  32. }
  33. /**
  34. * Make a show builder.
  35. *
  36. * @param mixed $id
  37. * @return Show
  38. */
  39. protected function detail($id)
  40. {
  41. $show = new Show(Article::findOrFail($id));
  42. $show->field('id', __('Id'));
  43. $show->field('type', __('分类'));
  44. $show->field('title', __('标题'));
  45. $show->field('content', __('内容'));
  46. $show->field('banner_url', __('图片'))->image('',100,100);
  47. $show->field('created_at', __('Created at'));
  48. $show->field('updated_at', __('Updated at'));
  49. return $show;
  50. }
  51. /**
  52. * Make a form builder.
  53. *
  54. * @return Form
  55. */
  56. protected function form()
  57. {
  58. $form = new Form(new Article());
  59. $form->select('type', __('分类'))->options(Article::$_post_type)->default(1);
  60. $form->text('title', __('标题'))->rules('required|min:3|max:255',['required'=>'请填写标题','min'=>'标题字符不能少于3个','max'=>'标题长度过长']);
  61. $form->textarea('content', __('内容'))->rules('required|min:3',['required'=>'请填写标题','min'=>'标题字符不能少于3个']);
  62. $form->image('banner_url', __('图片'))->rules('required' ,['required'=>'请选择图片!']);
  63. return $form;
  64. }
  65. }