close
Views 2.x 要改變排序方式的方式跟 1.x 差不多,最大的差異是設定上要繫結 views_handler 的物件,處理上比較麻煩。
底下假設目前排序方式是依據 "Post date" desc,而我們想要在傳遞任意的一個參數,改變其排序順序為根據 "type" asc, "Post date" desc,即插入一個 "type" asc 條件在原先的 "Post date" desc 之前。
- 插入一個 Global:Null 的 Argument
- Validator options 中的 Validator 設定為 PHP Code
- PHP validate code 中填入:
- 按下 Update 按鈕
- 之後便可在 Live Preview 檢視結果~
$sort = views_get_handler('node', 'type', 'sort'); $options = array( 'order' => 'ASC', 'id' => 'type', 'table'=> 'node', 'field'=>'type', 'relationship'=>'none', ); array_unshift($view->sort, $sort); $sort->init($view, $options); return true;
views_get_hander 的三個參數為:
- 表格名稱
- 欄位名稱
- handler 種類:sort, field, argument, filter, relationship
$options 的內容,可以建立一個你想要的排序條件,然後 dpm($view->sort) 來觀察~
全站熱搜
留言列表