From 654a9cae43358c7eecf3b522e9876aa7815e2453 Mon Sep 17 00:00:00 2001 From: Fabio Bas Date: Mon, 7 Dec 2015 15:57:51 +0100 Subject: Move urls from pradosoft.com to github's project page; drop unmaintained quickstart tutorial translations --- .../protected/pages/Day4/id/CreateNewPost.page | 142 --------------------- 1 file changed, 142 deletions(-) delete mode 100755 demos/blog-tutorial/protected/pages/Day4/id/CreateNewPost.page (limited to 'demos/blog-tutorial/protected/pages/Day4/id/CreateNewPost.page') diff --git a/demos/blog-tutorial/protected/pages/Day4/id/CreateNewPost.page b/demos/blog-tutorial/protected/pages/Day4/id/CreateNewPost.page deleted file mode 100755 index 31aba2bb..00000000 --- a/demos/blog-tutorial/protected/pages/Day4/id/CreateNewPost.page +++ /dev/null @@ -1,142 +0,0 @@ - - -

Membuat Halaman NewPost

- -

-Halaman NewPost disediakan untuk mengotentikasi pengguna untuk pembuatan tulisan blog baru. Ia perlu untuk menampilkan formulir yang mengumpulkan informasi mengenai tulisan baru, termasuk judul tulisan dan konten badan tulisan. -

- -

-Karena NewPost hanya bisa diakses oleh pengguna terotentikasi, kita menambahkan file konfigurasi config.xml di bawah direktori protected/pages/posts. Konfigurasi menetapkan bahwa para pengguna tidak bisa mengakses NewPost dan EditPost yang akan diperkenalkan dalam bagian berikutnya. Semua pengguna lainnya hanya memiliki akses ke ListPost dan ReadPost -

- - - - - - - - - - - - - -Selalu menjadi ide yang baik untuk memulai dengan deny="*" yang menampung semua aturan dari bawah dan secara bertahap memberikan akses ke halaman dengan aturan tambahan. - - -

-Karena jumlah halaman kita berkembang, kita ingin memodifikasi MainLayout agar dalam footer pada halaman blog kita ada link ke berbagai halaman, termasuk homepage, halaman NewUser (hanya terlihat oleh administrator), dan halaman NewPost mendatang (hanya terlihat oleh pengguna terotentikasi). -

- - - - - -

-Sekarang kita membuat dua file protected/pages/posts/NewPost.page dan protected/pages/posts/NewPost.php masing-masing untuk menyimpan template halaman dan kelas halaman. -

- -

Membuat Template Halaman

-

-Template halaman NewPost berisi TTextBox untuk mengumpulkan judul tulisan dan THtmlArea untuk mengumpulkan konten tulisan. Yang terakhir adalah editor HTML WYSIWYG. Guna memastikan bahwa input pengguna sudah benar, kita mengaitkan validator dengan kontrol input ini. -

- - -<%@ Title="My Blog - New Post" %> - -<com:TContent ID="Main"> - -

Membuat Tulisan Baru

- -Title: -<com:TRequiredFieldValidator - ControlToValidate="TitleEdit" - ErrorMessage="Please provide a title." - Display="Dynamic" /> -
-<com:TTextBox ID="TitleEdit" Columns="50" /> - -
-Content: -<com:TRequiredFieldValidator - ControlToValidate="ContentEdit" - ErrorMessage="Please provide content." - Display="Dynamic" /> -
-<com:THtmlArea ID="ContentEdit" /> - -
-<com:TButton Text="Create" OnClick="createButtonClicked" /> - -</com:TContent> -
- - -

Membuat Kelas Halaman

- -

-Dari template halaman di atas, kita melihat bahwa sebagian besar kita perlu menulis sebuah kelas halaman yang mengimplementasikan pengendali event: createButtonClicked() (ditempelkan ke tombo Create dalam event OnClick). -

- - -class NewPost extends TPage -{ - /** - * Membuat tulisan baru jika semua input benar. - * Metode ini merespon event OnClick pada tombol "create". - * @param mixed event sender - * @param mixed event parameter - */ - public function createButtonClicked($sender,$param) - { - if($this->IsValid) // bila semua validasi sukses - { - // populasikan obyek PostRecord dengan input pengguna - $postRecord=new PostRecord; - // menggunakan SafeText datipada Text guna menghindari serangan Penaskahan Situs Silang - $postRecord->title=$this->TitleEdit->SafeText; - $postRecord->content=$this->ContentEdit->SafeText; - $postRecord->author_id=$this->User->Name; - $postRecord->create_time=time(); - $postRecord->status=0; - - // simpan ke database lewat mekanisme Rekaman Aktif - $postRecord->save(); - - // alihkan browser ke halaman tulisan yang baru dibuat - $url=$this->Service->constructUrl('posts.ReadPost',array('id'=>$postRecord->post_id)); - $this->Response->redirect($url); - } - } -} - - -

Pengujian

-

-Untuk menguji halaman NewPost, masuk lebih dulu dan klik pada link tombol New Post dalam footer pada homepage. Browser kita akan menampilkan hasil berikut dengan URL http://hostname/blog/index.php?page=NewPost. -

- - -Ketika Anda mengunjungi halaman NewPost untuk pertama kali, Anda bisa melihat bahwa diperlukan beberapa detik sebelum halaman ditampilkan. Ini dikarenakan PRADO perlu mengurai dan mempublikasikan kode javascript dan gambar untuk kontrol THtmlArea yang dipakai dalam halaman. Ini dikerjakan sekali dan untuk semuanya. - - - -Untuk menguji fitur lembaran yang kita kembangkan untuk halaman ListPost, kita dapat membuat lima atau lebih tulisan dan melihat apa yang terjadi pada homepage. Lembar dalam ListPost menampilkan lima tulisan setiap halamannya. - - - - -
\ No newline at end of file -- cgit v1.2.3