drupal tablesort_sql сортирует по умолчанию, но не отображается в заголовке - PullRequest
1 голос
/ 27 октября 2010

Я хочу создать простую таблицу и сделать ее доступной пользователю для сортировки по заголовкам.Используя функцию tablesort_sql () и отправляя заголовок $ в theme (), это можно сделать легко и приятно.

Но я хочу отсортировать по умолчанию поле, которое не видно пользователям.Например: я хочу, чтобы содержимое было отсортировано по дате создания, но я не хочу показывать это пользователям

Итак, вот что я получил:

function vacancies_overview() { GLOBAL $user;</p> <pre><code>$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;

}

1 Ответ

2 голосов
/ 27 октября 2010

Быстрое решение было бы сделать что-то вроде этого:

$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 для заголовка таблицы.

...