के लिए धन्यवाद Berdir मैं काम कर रहा समझ में आ गया। यह इस तरह से अधिक विस्तार से काम करता है।
टेबोर्ट को "स्वचालित रूप से" ट्रिगर किया जाता है यदि $ हेडर सरणी में कॉलम (कॉलम) में कुंजी 'डेटा', 'फ़ील्ड' और वैकल्पिक रूप से 'सॉर्ट' हो। यह कॉलम हेडर में 'सॉर्ट' और 'ऑर्डर' के साथ लिंक बनाएगा और छोटे एरो और ऐसे दिखाएगा।
अपनी खुद की छँटाई करने के लिए, तालिकाएँ_get_order और tablesort_get_sort के साथ वर्तमान सॉर्ट सेटिंग्स प्राप्त करें और अपने छँटाई फ़ंक्शन के लिए उन मानों का उपयोग करें। सारणी में मुख्य 'sql' सारणी के द्वारा लौटाए जाने वाले फ़ील्ड नाम में सॉर्टिंग के लिए उपयोग किया जाना है।
प्रत्येक उपयोगकर्ता के लिए कुछ विवरणों वाले सरणी $ उपयोगकर्ताओं के साथ (अप्रयुक्त) उदाहरण कोड का एक टुकड़ा:
// setup the table data that we want to show
$tableData = array();
foreach ($users as $userDetails) {
$tableData[] = array(
'name' => $userDetails['name'],
'visits' => $userDetails['visits'],
'views' => $userDetails['views'],
'comments' => $userDetails['comments']
);
}
// headers array, sorting by default on comments
$headers = array(
array('data' => t('Name'), 'field' => 'name'),
array('data' => t('Visits'), 'field' => 'visits'),
array('data' => t('Views'), 'field' => 'views'),
array('data' => t('Comments'), 'field' => 'comments', 'sort' => 'desc')
);
// getting the current sort and order parameters from the url
$order = tablesort_get_order($headers);
$sort = tablesort_get_sort($headers);
// sort the table data accordingly (write your own sort function)
$tableData = my_array_sort($tableData, $order['sql'], $sort);
// create the array with rows for theme table
$rows = array();
foreach ($tableData as $entry) {
$rows[] = array(
array('data' => $entry['name']),
array('data' => $entry['visits']),
array('data' => $entry['views']),
array('data' => $entry['comments']),
);
}
// add any attributes and sent everything to theme table
$attributes = array('class' => array('my_class'));
$table = array('header' => $headers, 'attributes' => $attributes, 'rows' => $rows);
$html = theme('table', $table);