考试(评测)模块相关调用数据及技巧(v5.0)
    2021-12-15
  
1、试卷调用

  试卷调用无论是单个试题还是多个试卷列表均使用 {:examin::data():} 的方法调用。调用指定ID(一条记录)时返回一维数组,其它方法均返回一个二维数组。

调用方法
{:examin::data():}

相关参数

  共有 13 个可选参数,依次为:
   1、排序,对调用的试卷进行排序:0按自定义字段降序优先,其次按发布日期降序、1发布日期降序、2发布日期升序、3试卷ID降序、4试卷ID升序、5参与答卷次数降序。缺省值为 0
   2、调用记录数,分页时为每页要显示的数量,不分页时为调用的总记录数。缺省值为 10
   3、是否推荐:0调用全部、1只调用推荐、2调用非推荐。缺省值为 0
   4、试卷分类ID,0为所有分类下的试卷。缺省值为 0
   5、调用的试卷ID,为0时没有限制,其它数字为要调用的ID。指定ID时返回一维数组。缺省值为 0
   6、根据试卷标题进行关键词查询。
   7、对完整标题字段截取长度,0不截取,显示完整标题。其它数字为标题截取长度。截取后的标题使用 array['title_format'] 调用,title 始终为未格式化的完整标题。缺省值为 0
   8、当标题被截取时显示的省略符号。缺省值为 "..."
   9、从第几条记录开始调用,分页时该参数无效,分页会根据 $_GET['page'] 来判定起始数。缺省值为 0
   10、是否分页,0不分页,1分页,缺省值为 0
   11、浏览权限:0调用全部、1调用有浏览权限限制的试卷、2调用没有浏览限制的试卷。缺省值为 0
   12、数字页码范围,数码分页时当前页前后显示多少页码。缺省值为 5
   13、是否调用上一篇、下一篇数据,0不调用、1调用,为1时将返回一个三个元素的多维数组:['prev']、['current'] 和 ['next']。对于调用指定ID单条数据时有效(即第6个参数大于0)。缺省值为 0

调用实例

  1、调用ID为 12 的试卷:   
{:$e = examin::data(0,1,0,0,12):}

  2、调用最新发布的 5 张试卷:   
{:examin::data(1,5):}

  3、调用分类ID为 1 的 10 张试卷并循环:   
{:foreach examin::data(0,10,0,1) as $e:}
    {:$e['title']:}

    
{:/foreach:}

  4、调用试卷列表,并获得分页数据实现分页(v5.0):   
{:examin::data(0,10,0,0,0,0,0,0,0,1):}
{:assign var="page_data" value=examin::$page_data:}
首页
上一页
下一页
尾页

列表分页及试卷内容分页数据调用

  如果使用了分页(第10个参数为1时),将在模板中可以使用以下变量调用分页数据。如果内容页需要调用内容分页数据时,在内页模板中也可以使用以下变量调用商品详细内容的分页数据:
   数据总记录数:{:$page_data['total']:}
   当前页码:{:$page_data['page']:}
   每页要显示的记录数:{:$page_data['limit']:}
   总页数:{:$page_data['total_page']:}
   第一页链接URL:{:$page_data['start_url']:}
   上一页链接URL:{:$page_data['first_url']:}
   下一页链接URL:{:$page_data['next_url']:}
   尾页链接URL:{:$page_data['end_url']:}
   已计算好的页码数组(一个以页码为键名的数组,值为链接URL):{:$page_data['number']:}

  在试卷内页模板中有增加以下变量可以调用:
   当前试卷上一篇数据:{:$p['data_prev'][]:}
   当前试卷下一篇数据:{:$p['data_next'][]:}

2、试卷题目调用

  可以调用某张试卷下的题目,无论是单个题目还是多个题目列表均使用 {:examin::get_questions():} 的方法调用。调用指定ID(一条记录)时返回一维数组,其它方法均返回一个二维数组。

调用方法
{:examin::get_questions():}

相关参数

  共有 1 个必填参数,1 个可选参数,依次为:
   1、试卷ID,必填
   2、题目ID,为0时不限制,指定ID时返回一维数组。缺省值为 0

调用实例

  2、调用试卷ID为1的所有题目并循环题目及其选项:   
{:foreach examin::get_questions(1) as $q:}

    

    
    {:foreach $q['items']['questions'] as $k => $item:}
            
    {:/foreach:}

{:/foreach:}

3、试卷分类调用

  试卷分类调用无论是单个分类还是多个分类列表均使用 {:examin::get_category():} 的方法调用。调用指定ID(一条记录)时返回一维数组,其它方法均返回一个二维数组。

调用方法
{:examin::get_category():}

相关参数

  共有 3 个可选参数,依次为:
   1、排序,对调用的分类进行排序:0按自定义字段降序优先,其次按发布日期降序、1发布日期降序。缺省值为 0
   2、是否推荐:0调用全部、1只调用推荐、2调用非推荐。缺省值为 0
   3、试卷分类ID,为0时不限制。指定ID时返回一维数组,其余情况返回所有分类。缺省值为 0

调用实例

  1、调用ID为 12 的试卷分类:   
{:$c = examin::get_category(0,0,12):}

  2、调用推荐分类并循环:   
{:foreach examin::get_category(0,1) as $c:}
    {:$c['title']:}

    
{:/foreach:}

4、考试记录调用

  考试记录调用无论是单个记录还是多个记录列表均使用 {:examin::get_record():} 的方法调用。调用指定ID(一条记录)时返回一维数组,其它方法均返回一个二维数组。

调用方法
{:examin::get_record():}

相关参数

  共有 11 个可选参数,依次为:
   1、排序:0添加日期降序、1添加日期降序、2成绩分数降序、3成绩分数升序、4正确数降序、5正确数升序。缺省值为 0
   2、调用记录数,分页时为每页要显示的数量,不分页时为调用的总记录数。缺省值为 10
   3、用户id,为0时没有限制。缺省值为 0
   4、分类id,0为所有分类。缺省值为 0
   5、试卷id,0为所有试卷。缺省值为 0
   6、调用的ID,为0时没有限制,其它数字为要调用的ID。调用单个时转成一维数组。缺省值为 0
   7、是否批卷,0为没有限制。缺省值为 0
   8、从第几条记录开始调用,分页时该参数无效,分页会根据 $_GET['page'] 来判定起始数。缺省值为 0
   9、是否分页,0不分页,1分页,缺省值为 0
   10、数字页码范围,数码分页时当前页前后显示多少页码。缺省值为 5
   11、是否调用上一篇、下一篇数据,0不调用、1调用,为1时将返回一个三个元素的多维数组:['prev']、['current'] 和 ['next']。对于调用指定ID单条数据时有效[即:$args[5] > 0]。缺省值为 0 0

1、调用ID为 12 的记录

  1、调用ID为 12 的试卷分类:   
{:$record = examin::get_record(0,1,0,0,12):}

  2、调用最新测试的 5 调记录:   
{:examin::get_record(0,5):}

  3、调用分类ID为 1 的 10 条记录并循环:   
{:foreach examin::get_record(0,10,0,1) as $record:}
    {:$record ['title']:}

    
{:/foreach:}

列表分页及试卷内容分页数据调用

  如果使用了分页(第10个参数为1时),将在模板中可以使用以下变量调用分页数据。如果内容页需要调用内容分页数据时,在内页模板中也可以使用以下变量调用商品详细内容的分页数据:
   数据总记录数:{:$page_data['total']:}
   当前页码:{:$page_data['page']:}
   每页要显示的记录数:{:$page_data['limit']:}
   总页数:{:$page_data['total_page']:}
   第一页链接URL:{:$page_data['start_url']:}
   上一页链接URL:{:$page_data['first_url']:}
   下一页链接URL:{:$page_data['next_url']:}
   尾页链接URL:{:$page_data['end_url']:}
   已计算好的页码数组(一个以页码为键名的数组,值为链接URL):{:$page_data['number']:}

  在试卷内页模板中有增加以下变量可以调用:
   当前记录上一篇数据:{:$p['data_prev'][]:}
   当前记录下一篇数据:{:$p['data_next'][]:}