Hotrecommend.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. namespace app\mall\admin;
  3. use app\admin\controller\Admin;
  4. use think\Db;
  5. use think\Request;
  6. use think\Validate;
  7. use app\common\builder\ZBuilder;
  8. class Hotrecommend extends Admin
  9. {
  10. public function index(){
  11. $order = $this->getOrder();
  12. if($order===''){
  13. $order='id asc';
  14. }
  15. $map = $this->getMap();
  16. $data_list = Db::name('hotrecommends')->where($map)->order($order)->select();
  17. //$page = $data_list->render();
  18. return ZBuilder::make('table')
  19. ->setPageTitle('') // 设置页面标题
  20. ->setPageTips('') // 设置页面提示信息
  21. ->hideCheckbox() //隐藏第一列多选框
  22. ->setTableName('hotrecommends') // 指定数据表名
  23. ->addOrder('id') // 添加排序
  24. ->addColumns([
  25. ['id', '位置','callback',function($value){
  26. return '位置'.$value;
  27. }],
  28. ['admin_attachment_id', '图片','picture','暂无图片'],
  29. ['product_link', '商品链接','callback',function($value){
  30. return '<a target="_bank" href="'.$value.'">'.$value.'</a>';
  31. }],
  32. ['right_button', '操作', 'btn'],
  33. ]) //添加多列数据
  34. ->addRightButtons(['edit'])
  35. ->setRowList($data_list) // 设置表格数据
  36. //->setPages($page) // 设置分页数据
  37. ->fetch();
  38. }
  39. public function edit($id=''){
  40. //判断是否为post请求
  41. if (Request::instance()->isPost()) {
  42. //获取请求的post数据
  43. $data=input('post.');
  44. //数据输入验证
  45. $validate = new Validate([
  46. 'admin_attachment_id|图片' => 'require',
  47. 'product_link|商品链接' => 'require',
  48. ]);
  49. if (!$validate->check($data)) {
  50. return $this->error($validate->getError());
  51. }
  52. //数据处理
  53. $update=array();
  54. $update['id']=$data['id'];
  55. $update['admin_attachment_id']=$data['admin_attachment_id'];
  56. $update['product_link']=$data['product_link'];
  57. //数据更新
  58. $rt=Db::name("hotrecommends")->update($update);
  59. //跳转
  60. if($rt!==false){
  61. return $this->success('编辑成功',url('index'));
  62. } else {
  63. return $this->error('编辑失败');
  64. }
  65. }
  66. // 接收id
  67. if ($id>0) {
  68. // 查处数据
  69. $hotrecommend=Db::name("hotrecommends")->where('id',$id)->find();
  70. if(!$hotrecommend){
  71. return $this->error('请求错误');
  72. }
  73. // 使用ZBuilder快速创建表单
  74. return ZBuilder::make('form')
  75. ->setPageTitle('编辑热门推荐') // 设置页面标题
  76. ->setPageTips('请认真编辑相关信息') // 设置页面提示信息
  77. //->setUrl('edit') // 设置表单提交地址
  78. //->hideBtn(['back']) //隐藏默认按钮
  79. ->setBtnTitle('submit', '确定') //修改默认按钮标题
  80. ->addBtn('<button type="reset" class="btn btn-default">重置</button>') //添加额外按钮
  81. ->addStatic('weizhi', '位置', '', '位置'.$hotrecommend['id'])
  82. ->addImage('admin_attachment_id', '图片','必传,推荐尺寸为'.$hotrecommend['size'],$hotrecommend['admin_attachment_id'])
  83. ->addText('product_link', '商品链接','必填,请以http://或https://开头',$hotrecommend['product_link'])
  84. ->addHidden('id',$hotrecommend['id'])
  85. //->isAjax(false) //默认为ajax的post提交
  86. ->fetch();
  87. }
  88. }
  89. }