فرز drupal tableort_sql بشكل افتراضي ولكن لا تظهر في الرأس

StackOverflow https://stackoverflow.com/questions/4031879

  •  26-09-2019
  •  | 
  •  

سؤال

أرغب في إنشاء جدول بسيط وجعله متاحًا للمستخدم لفرز الرؤوس. باستخدام وظيفة tableort_sql () وإرسال رأس $ إلى السمة () يمكن القيام بذلك بسهولة ولطيفة.

لكني أريد الفرز افتراضيًا على حقل غير مرئي للمستخدمين. على سبيل المثال: أريد أن يتم فرز المحتوى حسب التاريخ الذي تم إنشاؤه ، لكنني لا أريد إظهار ذلك للمستخدمين

إذن هذا ما لدي:

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;

}

هل كانت مفيدة؟

المحلول

سيكون الحل السريع هو القيام بشيء مثل هذا:

$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 لالتقاط الجدول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top