【问题标题】:drupal tablesort_sql sort by default but don't show in headerdrupal tablesort_sql 默认排序,但不显示在标题中
【发布时间】:2010-10-27 09:52:13
【问题描述】:

我想创建一个简单的表格,让用户可以对标题进行排序。 使用 tablesort_sql() 函数并将 $header 发送到 theme() 中,这可以轻松完成。

但我想默认对用户不可见的字段进行排序。 例如: 我希望内容按创建日期排序,但我不想向用户展示

这就是我所拥有的:

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;

}

【问题讨论】:

    标签: drupal themes tablesorter


    【解决方案1】:

    一个快速的解决方案是这样做:

    $header = array(
        array('field' => 'created', 'sort' => 'desc'),
        array('data' => t('title'), 'field' => 'title'),
    );
    
    $header_sort = $header;
    $header_sort[] = array(...); // Add the default sort.
    

    然后你可以使用header_sort 来做sql,$header 来做表格的主题。

    【讨论】:

    • 我可以看到这会起作用 :) 我真是太愚蠢了,没想到这一点:P Thnx 指出这一点!
    猜你喜欢
    • 1970-01-01
    • 2018-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2021-03-12
    • 1970-01-01
    相关资源
    最近更新 更多