我想创建一个简单的表,并使其可供用户排序的标题。使用tablesort_sql()函数并将主题发送到$header ()中,这可以很容易地完成。
但我希望默认情况下对用户不可见的字段进行排序。例如:我希望按创建日期对内容进行排序,但我不想将其显示给用户
下面是我得到的信息:
function vacancies_overview() { GLOBAL $user;
$header = array(
array('field' => 'created', 'sort' => 'desc'),
array('data' => t('title'), 'field' => 'title'),
);
$sql = "SELECT n.nid, n.title FROM {node} n WHERE n.type = 'mycontenttype' AND n.status = 1 AND n.uid = %d" . tablesort_sql($header);
$result = pager_query($sql, 30, 0, NULL, $user->uid);
while ($data = db_fetch_object($result)) {
$rows[] = array(
_mycontent_format_title_link($data->title, $data->nid),
);
}
$output = theme('table', $header, $rows);
$output .= theme('pager', NULL, 30, 0);
return $output;}
发布于 2010-10-27 18:27:41
一个快速的解决方案是这样做:
$header = array(
array('field' => 'created', 'sort' => 'desc'),
array('data' => t('title'), 'field' => 'title'),
);
$header_sort = $header;
$header_sort[] = array(...); // Add the default sort.然后,您可以对sql使用header_sort,对表进行主题化使用$header。
https://stackoverflow.com/questions/4031879
复制相似问题