php – Joomla! 在後台添加表格排序

後台元件開發中,參考在 <table> 中的標題使用
JHtmlGrid::sort($title, $order, $direction = “asc”, $selected = 0, $task = null)

  • title 要顯示給使用者看的名稱
  • order 提交給 Server 要排序的欄位名稱,例如點擊 es_email 以後,下面提交為  [filter_order] => es_email [filter_order_Dir] => desc
  • direction 目前顯示的狀態是 asc | desc
  • selected 所選的排序,其實我不知道是幹嘛,所以填寫 0 ,如果知道的朋友歡迎留言給我
  • $task 你要前往的任務,預設是同張頁面,我喜歡寫明確一點方便維護

form 務必添加隱藏欄位 filter_order, filter_order_Dir 給 Joomla! 使用

這樣按下標題以後,就會透過 Form 的 POST/GET 送出到指定的 task 。再配合 SQL 的 Order By 即可。

Comments

  1. 現在Joomla後台已改用這種方式做排序了嗎? 記得之前是用 JHtml::_(‘grid.sort’ …. 。
    另外 PHP short tag 建議少用

    • JHtml::_(‘grid.sort… 這兩個好像是通用的。我搜尋一下內部的檔案,似乎都改用了 JHtml::_(‘grid.sort’~ 我上面那個可能是舊的寫法XD
      我上面查到的是 Joomla! 官方提供的 API,但是沒有其他描述到底建議使用哪一個,覺得他們文件很多寫的不齊全XDDD
      [https://docs.joomla.org/API17:JHtmlGrid::sort]

      「< ?=""」這個形式記得從 5.4 開發人員投票時,預設從不鼓勵改為鼓勵使用了;「< ?」的話仍然維持預設關閉 可以參考官網 http://php.net/manual/en/language.basic-syntax.phptags.php

發表迴響