博客列表 >530使用foreach和volist标签分别实现模板数据的分页显示

530使用foreach和volist标签分别实现模板数据的分页显示

1A7498的博客
1A7498的博客原创
2018年05月31日 17:28:051035浏览
{load href="/static/plugins/bootstrap/css/bootstrap.css"}
{load href="/static/jquery.js"}
{load href="/static/plugins/bootstrap/js/bootstrap.js"}
<div class="container">
    <div class="row">
        <h3 class="text-center">员工表</h3>
        <div class="col-md-8 col-md-offset-2">
            <table class="table table-bordered table-hover text-center">
                <tr>
                    <td>ID</td>
                    <td>姓名</td>
                    <td>性别</td>
                    <td>年龄</td>
                    <td>工资</td>
                </tr>
                {//模版中的单行注释}
                {/*模版中的多行注释*/}
                {//在当前模版中创建变量,用来保存数据表中的数据}
                {//assign name="staffs" value=":\app\index\model\Staff::all()"}
                {//用助手函数来简化}
                {//assign name="staffs" value=":model('staff')::all()"}
                <!--{foreach $staffs as $staff}-->
                <!--<tr>-->
                    <!--<td>{$staff.staff_id}</td>-->
                    <!--<td>{$staff.name}</td>-->
                    <!--<td>{$staff.sex}</td>-->
                    <!--<td>{$staff.age}</td>-->
                    <!--<td>{$staff.salary}</td>-->
                <!--</tr>-->
                <!--{/foreach}-->
                {//volist标签,参数多,应用广}
                {volist name="staffs" id="staff" offset="0" length="8"}
                    <tr>
                    <td>{$staff.staff_id}</td>
                    <td>{$staff.name}</td>
                    <td>{$staff.sex}</td>
                    <td>{$staff.age}</td>
                    <td>{$staff.salary}</td>
                    </tr>
                {/volist}

                <td></td>

                {volist name="staffs" id="staff" length="6" mod="2" empty="数据为空"}
                {eq name="mod" value="0"}
                <tr>
                    <td>{$staff.staff_id}</td>
                    <td>{$staff.name}</td>
                    <td>{$staff.sex}</td>
                    <td>{$staff.age}</td>
                    <td>{$staff.salary}</td>
                </tr>
                {/eq}
                {/volist}
            </table>
        </div>
    </div>
</div>
<?php
namespace app\index\controller;
use think\Controller;
use app\index\model\Staff as StaffModel;
class Staff extends Controller
{
public function test2()
{
    //分页配置
    $config =[
      'type'=>'bootstrap',
      'var_page'=>'page',
    ];
    //每页显示数量
    $num=5;
    //是否简单分页?只有上一页下一页
    $simple = false;
    //用模型获取多有分页数据:think\Paginate
    $paginate = StaffModel::paginate($num,$simple,$config);
    //halt($paginate);
    //渲染分页html代码,返回分页变量
    $page = $paginate->render();
    //halt($page);
    //将分页数据赋值给模版
    $this->view->assign('staffs',$paginate);
    //将分页变量赋值给模版
    $this->view->assign('page',$page);
    //渲染模版
    return $this->view->fetch();
}
}

QQ截图20180531171948.png


使用之前学习的获取器设置自定义字段

//获取器1:sex中的男女01替换

protected function getSexAttr($value)
{
   $sex =[0=>'nan',1=>'nv'];
   return $sex[$value];
}
//获取器2;传入第二个参数应用全部字段
protected function getSalaryAttr($value,$data)
{
   return $data['name'].'的工资'.$value;
}
//获取器三;可以为表不存在的字段设置,纯粹的拼装字段
public function getStaffInfoAttr($value,$data)
{
   //staff——info虚拟字段$value:仅仅是一个占位符
   return '我是'.$data['name'].',今年'.$data['age'].'岁,工资'.$data['salary'];
}







声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议