I have a paged table that extends the TableSort class. The thing is, I would like to add some special parameters to the header links, so I need to extend the TableSort class. The problem is, it is not recognizing my new extended TableSort (MyTableSort) class. This is the code, any help would be greatly appreciated:
<?php // $Id: RadiosDemo.module $ //This module demonstrates the radios default value problem. class MyTableSort extends TableSort { /** * Compose a URL query parameter array for table sorting links. * * @return * A URL query parameter array that consists of all components of the current * page request except for those pertaining to table sorting. */ public function tablesort_get_query_parameters() { return drupal_get_query_parameters($_GET, array('q', 'sort', 'order', 'nid')); } } /** * Implementation of hook_menu(). */ function RadiosDemo_menu() { // Added a link to navigate to the demo node display page $items['RadiosDemo/Problem'] = array( 'title' => 'Demo of Pager Problem', 'page callback' => 'RadiosDemo_displaynodes', 'access callback' => TRUE, 'type' => MENU_NORMAL_ITEM, ); return $items; } /** * Function which will display all the nids in a paged table */ function RadiosDemo_displaynodes() { $headers = array( array('data' => 'nid', 'field' => 'nid', 'sort' => 'ASC'), array('data' => 'status', 'field' => 'status'), array('data' => 'title', 'field' => 'title'), ); // Select nid from published nodes with 20 pager limit $query = db_select('node', 'n') ->condition('status', 1) ->extend('MyTableSort') ->extend('PagerDefault') ->orderByHeader($headers) ->limit(30) ->fields('n', array('nid', 'title', 'status')); $results = $query->execute(); $rows = array(); foreach ($results as $result) { $row = array(); $row[] = $result->nid; $row[] = $result->status; $row[] = $result->title; $rows[] = $row; } $html = theme('table', array( 'header' => $headers, 'rows' => $rows, )); $html .= theme('pager', array( 'parameters' => array( 'banana' => 'banana' ))); return $html; }