[文件教程][通用]模板中直接獲取對應分類的指定條數的文件列表資料:get_document_lists

發表於2019-05-11
在Application/Home(或相關 模型)/Common/function.php中新增如下函式:
 /**
  * 獲取指定分類的文件列表資訊
  * 注意: 使用此函式需要修改DocumentModel.class.php中lists()方法
  * @param mixed $ids 分類ID或分類ID列表(如:1,2,3...)
  * @param int $limit 讀取個數(如:5)
  * @param string $order 排序規則(如:'`id` desc')
  * @return array
  */
function get_document_lists($ids, $limit=false, $order='') {
     !preg_match('/[0-9\,]{1,}/', $ids) && exit;
     !$limit && !is_numeric($limit) && exit;

     !$limit && $limit=C('REPLY_LIST_ROWS');

     $value = D('Document')->lists($ids, $order, 1, true, $limit);

     return $value;
}
模板中直接呼叫:
<php>$lists = get_document_lists(分類ID或ID列表, 5);</php>
<if condition="$lists neq ''">
<ul>    
    <foreach name="lists" item="list">    
    <li><a href="{:U('/Home/Article/detail/id/'.$list['id'])}">{$list.title}</a></li>    
    </foreach>
</ul>
</if>
DocumentModel.class.php中list()方法修改方法:
public function lists($category, $order = '`id` DESC', $status = 1, $field = true, $limit=false){
    $map = $this->listMap($category, $status);
    $list = $this->field($field)->where($map)->order($order);
    $list = $limit ? $list->limit($limit) : $list;
    return $list->select();
}
回覆

相關文章