带你撸出一手好代码
第九节,xml配置文件的编写 - 数据展示页面配置

假如我们有一组数据,为方便表示, 这里以Json为例,在php中则以Array表示, 数据格式如下


未命名图片.png


要在fast_dev系统中展示,那么可以用数据展示页面配置来表示

 

数据展示页面配置通常在两种场景使用

 

第一种我们在前一节有过介绍, 用于展示表单提交页面的结果

 

提交的结果页面和对应的xml配置如下


8a65208daf4a11e79c9f00163e0233f7.png


<Page mode="view" title="操作结果">
  <Fields>
    <Field name="message" title="结果"></Field>
  </Fields>
  <listen class=""></listen>
</Page>


而处理表单提交数据方法返回的结果如下


array( "error" => 0, "data" => array( "message" => "操作成功" ) );


也就是说fast_dev 程序会根据xml配置将返回的数据转换成我们所看到的html界面, 详细的使用方法请参照


https://www.chhblog.com/article_view?id=375


而第二种场景是纯粹用来展示数据的, 和第一种用于展示表单提交页面结果不同。

 

假如我们重数据库中查询出如下数据


未命名图片.png


需要转换成如下html页面


未命名图片1.png


 那么可以用如下xml配置实现


<?xml version="1.0" encoding="UTF-8"?>
 
<PageGroup id="bbq_view_game_notice" title="查看游戏公告">
 
    <Page mode="view" title="查看游戏公告">
        <Fields>
            <Field name="title" title="标题"></Field>
            <Field name="content" title="内容"></Field>
            <Field name="beginTime" title="开始时间"></Field>
            <Field name="endTime" title="结束时间"></Field>
            <Field name="status_text" title="公告状态"></Field>
            <Field name="state_text" title="公告状态"></Field>
            <Field name="msg" title="提醒"></Field>
        </Fields>
        <listen class="bbq_view_game_notice"></listen>
    </Page>
</PageGroup>


其中

 

  <listen class="bbq_view_game_notice"></listen>


节点中的  bbq_view_game_notice 属性表示获得数据的后端php程序

 

 bbq_view_game_notice..php 的代码如下

 

class bbq_edit_game_notice extends bbq_base {
 
    public function data() {
        $id = $_GET["id"];
        $db = $this->env->getBBQDataBase();
        $sql = "select
                  beginTime as begin_time,
                  endTime as end_time,
                  status,
                  title,
                  content
                from activity_bulletin_text where uid = " . $id;
        $result = $db->query($sql)->row_array();
        return $result;
    }
}


类  bbq_edit_game_notice 需要实现data方法, data方法返回的数据就是这片文档第一张图片的Json数据的php数组格式

 

访问这个配置的url格式如下

 

gm.om.dianhun.cn/index.php?/gm2/index?action_id=bbq_view_game_notice&action_mode=view&id=16

 

其中action_id表示配置文件的名称, action_mode于xml配置page节点的mode属性相同, 填view即可,至于其它的参数,可以根据自己的需要设定, 以便在php逻辑处理程序中使用

 

作者:陈大侠
日期:2017-11-03

留言(0条)

我要发表留言

您的大名 选填
电子邮箱 选填

欢迎关注微信公众号 「带你撸出一手好代码」

首页    GitHub 知乎 豆瓣 博客园