示例#1
0
 public function index($alias = null)
 {
     $data = ['pages' => Page::show()->fetch(false)];
     if ($alias !== null) {
         $page = Page::show(['alias' => $alias])->fetchOne();
         if (!$page) {
             return $this->app->show404();
         }
         $data['heading'] = $page->judul;
         $data['content'] = $page->konten;
         return $this->render('page', $data);
     } else {
         $data['heading'] = 'Selamat datang di website resmi ' . conf('app.title');
         $data['products'] = Product::show()->fetch(5);
         $data['slides'] = Banner::show(['tipe' => 'slide', 'aktif' => 1])->fetch(3);
         return $this->render('home', $data);
     }
 }
 public function banners($do = '', $id = '')
 {
     $this->data['heading'] = 'Administrasi: Banner';
     switch ($do) {
         case 'form':
             if (post('submit')) {
                 $data = [User::primary() => 1, 'tgl_input' => date('Y-m-d'), 'judul' => post('judul'), 'keterangan' => post('keterangan'), 'url' => post('url'), 'gambar' => post('gambar'), 'tgl_mulai' => formatTanggal(post('tgl_mulai'), 'Y-m-d'), 'tgl_akhir' => formatTanggal(post('tgl_akhir'), 'Y-m-d'), 'aktif' => post('aktif'), 'tipe' => post('tipe')];
                 try {
                     $upload = new Upload('gambar');
                     $data['gambar'] = $upload->doUpload();
                 } catch (Exception $e) {
                     setAlert('error', $e->getMessage());
                 }
                 if (Banner::save($data, $id)) {
                     if ($id) {
                         setAlert('success', 'Berhasil memperbarui data banner <b>' . $data['judul'] . '</b>');
                     } else {
                         setAlert('success', 'Berhasil menambahkan banner <b>' . $data['judul'] . '</b>');
                     }
                     return redirect('admin-shop/banners');
                 }
                 setAlert('error', 'Terjadi kesalahan dalam penyimpanan banner <b>' . $data['judul'] . '</b>');
                 return redirect($this->uri->path());
             } else {
                 if ($id) {
                     $this->data['data'] = Banner::show([Banner::primary() => $id])->fetchOne();
                 }
                 return $this->render('banner-form', $this->data);
             }
             break;
         case 'delete':
             if (Banner::del([Banner::primary() => $id])) {
                 setAlert('success', 'Banner berhasil terhapus');
             } else {
                 setAlert('error', 'Terjadi kesalahan dalam penghapusan banner');
             }
             return redirect('admin-shop/banners');
             break;
         default:
             $this->data['data'] = Banner::show();
             return $this->render('banner-table', $this->data);
             break;
     }
 }