信息删除

修改列表展示页面,让每条信息点击后进入相应的详细页面,并添加删除按钮和编辑按钮。

index.html 内容改为:

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>CRUD测试-列表</title>
<style type="text/css">
</style>
</head>
<body>
<table>
    <tr>
        <th>{$note->lable('title')}</th>
        <th>{$note->lable('author')}</th>
        <th>{$note->lable('theme')}</th>
        <th>{$note->lable('postdate')}</th>
        <th>删除</th>
        <th>编辑</th>
    </tr>
    {loop $notes as $n}
    <tr>
        <td><a href="show-{$n->id}.html">{$n->title}</a></td>
        <td>{$n->author}</td>
        <td>{$n->field_text('theme')}</td>
        <td>{date('Y-m-d',$n->postdate)}</td>
        <td><a href="javascript:;" onclick="if(confirm('确定要删除吗?')){ goto('delete-{$n->id}.html');}">删除</a></td>
        <td><a href="edit-{$n->id}.html">编辑</a></td>
    </tr>
    {/loop}
    <tr></tr>
</table>
</body>
</html>

关于模板标签的说明:

1、 对于视图模板中的JS方法,因为同样是要包含大括号"{}”的,所以在模板解释中会被解析器误认为是PHP模板标签,解决的方法是对于JS方法”{”之后要紧跟空格或者回车,这样解释器就不会将其解释成php语言。

2、 因为IE的某些问题,当要用到JS跳转时要调用框架中的goto方法,请不要采用传统的location.href=?的方式。这样控制器中的Redirect::back()方法才会生效。

创建控制器文件:controller/notes/delete.php 对应信息删除的控制器。

delete.php 内容为:

<?php
if (isset($_GET[1])){
    //指定要操作的模型id 删除之
    $note = new Model('notes');
    $note->id($_GET[1]);
    $note->remove();
}
//返回请求前的页面
Redirect::back();
?>