The examples below are from a working cakeblog tutorial: http://manual.cakephp.org/appendix/blog_tutorial
<?php class Post extends AppModel { var $name = 'Post'; var $validate = array( 'title' => VALID_NOT_EMPTY, 'body' => VALID_NOT_EMPTY ); } ?>
<?php class PostsController extends AppController { var $name = 'Posts'; function index() { $this->set('posts', $this->Post->findAll()); } function view($id = null) { $this->Post->id = $id; $this->set('post', $this->Post->read()); } function add() { if(!empty($this->data)) { if($this->Post->save($this->data)) { $this->flash('Your post has been saved.','/posts'); } } } function delete($id) { $this->Post->del($id); $this->flash('The post with id: '.$id.' has been deleted.', '/posts'); } function edit($id = null) { if(empty($this->data)) { $this->Post->id = $id; $this->data = $this->Post->read(); } else { if($this->Post->save($this->data['Post'])) { $this->flash('Your post has been updated.','/posts'); } } } } ?>
// add.thtml <h1>Add Post</h1> <form method="post" action="<?php echo $html->url('/posts/add')?>"> <p> Title: <?php echo $html->input('Post/title', array('size' => '40'))?> <?php echo $html->tagErrorMsg('Post/title', 'Title is requried.')?> </p> <p> Body: <?php echo $html->textarea('Post/body', array('rows'=>'10')) ?> <?php echo $html->tagErrorMsg('Post/body', 'Body is required.') ?> </p> <p> <?php echo $html->submit('Save') ?> </p> </form> // edit.thtml <h1>Edit Post</h1> <form method="post" action="<?php echo $html->url('/posts/edit')?>"> <?php echo $html->hidden('Post/id'); ?> <p> Title: <?php echo $html->input('Post/title', array('size' => '40'))?> <?php echo $html->tagErrorMsg('Post/title', 'Title is requried.')?> </p> <p> Body: <?php echo $html->textarea('Post/body', array('rows'=>'10')) ?> <?php echo $html->tagErrorMsg('Post/body', 'Body is required.') ?> </p> <p> <?php echo $html->submit('Save') ?> </p> </form> // index.thtml <h1>Blog posts</h1> <p><?php echo $html->link("Add Post", "/posts/add") ?></p> <table> <tr> <th>Id</th> <th>Title</th> <th>Created</th> </tr> <?php foreach ($posts as $post): ?> <tr> <td><?php echo $post['Post']['id']; ?> <?php echo $html->link( 'Delete', "/posts/delete/{$post['Post']['id']}", null, 'Are you sure?' )?> <?php echo $html->link('Edit', "/posts/edit/".$post['Post']['id']); ?> </td> <td> <?php echo $html->link($post['Post']['title'], "/posts/view/".$post['Post']['id']); ?> </td> <td><?php echo $post['Post']['created']; ?></td> </tr> <?php endforeach; ?> </table> // view.thtml <h1><?php echo $post['Post']['title']?></h1> <p><small>Created: <?php echo $post['Post']['created']?></small></p> <p><?php echo $post['Post']['body']?></p>
... // $Route->connect('/', array('controller' => 'pages', 'action' => 'display', 'home')); $Route->connect('/', array('controller' => 'newlocation', 'action' => 'index')); ...