drupal内的表格化输出实现方法

   2015-08-02 0
核心提示:这篇文章主要为大家介绍了drupal内的表格化输出实现方法,涉及drupal内置函数的使用及相应的数据库操作技巧,具有一定的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了drupal内的表格化输出实现方法。是基于drupal6实现的。分享给大家供大家参考。具体实现方法如下:

1、theme_table()
在drupal内,theme函数就是用来控制输出的。在定制模块的时候,你要想将你的数据输出成table格式,就用到这个了。十分方便。

格式:Theme_table() 含有4个参数, $header, $rows, $attributes (optional) 和 $caption (optional).
$header 是一个数组,代表着table header, $rows是一个数组,代表着 table rows, $attributes是一个应用于table的attributes数组,  $caption 表格的caption .

实例应用:编码一个table通常需要3个步骤。
1. 创建表头
2. 写数据库查询
3. 创建rows
下面来创建一个简单的表格,列出节点的标题,类型,创建日期,作者。

创建表头:

复制代码
代码如下:
$header = array(
array(
'data' => t('Title'),
'field' => 'n.title',
'sort' => 'asc',
),
array(
'data' => t('Type'),
),
array(
'data' => t('Author'),
'field' => 'u.name',
), </p> <p> array(
'data' => t('Date Created'),
'field' => 'n.created',
),
);

详解:header是一个多维数组,table表头的每个单元(table内的 column )均由一个关联数组构成,包含着一个或者多个下面的keys。

data:必须的,这是将要显示的文本。
field :分类column时需要这个,这是一个数据库字段。
sort:column排列顺序,可选。

数据库查询:

复制代码
代码如下:
$query = "SELECT n.title, n.created, n.type, u.name </p> <p>FROM {node} AS n </p> <p> LEFT JOIN {users} AS u
ON n.uid = u.uid" </p> <p>. tablesort_sql($header);

获得rows!


复制代码
代码如下:
$result = db_query($query); </p> <p> $rows = array();
while ($row_object = db_fetch_object($result)) { </p> <p> $rows[] = array(
'data' => array( </p> <p> //Title </p> <p> array( </p> <p> 'data' => $row_object->title, </p> <p> ), </p> <p> //Type </p> <p> array( </p> <p> 'data' => $row_object->type, </p> <p> ), </p> <p> //Author </p> <p> array( </p> <p> 'data' => $row_object->name, </p> <p> ), </p> <p> //Date created </p> <p> array( </p> <p> 'data' => date('M d, Y', $row_object->created), </p> <p> ), </p> <p> ), </p> <p> ); </p> <p> } </p> <p>print theme('table', $header, $rows);

希望本文所述对大家的drupal建站有所帮助。

 
标签: Drupal 输出
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行