Tạo template add trong Articles

Lượt xem: 2408

Tạo template add trong Articles

Chúng ta tạo file add.ctp với code sau:

 <!-- File: src/Template/Articles/add.ctp -->

 <h1>Thêm bài viết (Articles) </h1 >
 <?php
    echo $this->Form->create($article);
    // Hard code the user for now.
    echo $this->Form->control('user_id', ['type' => 'hidden', 'value' => 1]);
    echo $this->Form->control('title');
    echo $this->Form->control('body', ['rows' => '3']);
    echo $this->Form->button(__('Save Article'));
    echo $this->Form->end();
?>

 

Chúng ta sử dụng FormHelper để tạo một thẻ HTML form. Đây là đoạn HTML được sinh ra khi sử dụng hàm $this->Form->create()


<form method="post" action="/articles/add">

Vì chúng ta gọi hàm create() nhưng không có tùy chỉnh URL. FormHelper giả định rằng chúng ta muốn gửi biểu mẫu lại hành động hiện tại.

Phương thức $this->Form->control() sử dụng để tạo các phần tử của form cùng với tên. Tham số đầu tiên cho CakePHP biết trường nào chúng tương ứng và tham số thứ hai cho phép bạn chỉ định một loạt các tùy chọn - trong trường hợp này là số lượng hàng cho textarea. Có một chút quy ước hướng nội ở đây. Hàm control() sẽ sinh ra các tag html khác nhau dựa trên trường ở model được chỉ định và sử dụng biến để tạo văn bản có nhãn (label). Bạn có thể tùy chỉnh nhãn, đầu vào hoặc bất kỳ khía cạnh nào khác của điều khiển biểu mẫu bằng các tùy chọn. Cuộc gọi $this->Form->end() sẽ đóng biểu mẫu.

Bây giờ hãy quay chở lại template src/Template/Articles/index.ctp để cập nhật view. Tạo mới đường dẫn "Thêm bài viết". Trước thẻ

thêm dòng sau.


 <?= $this->Html->link('Thêm bài viết', ['action' => 'add']) ?>

Video

Nguồn https://book.cakephp.org/3.0/en/quickstart.html