請(qǐng)教一下Table類里的_List()方法中的$p參數(shù)怎么用。
\dairui\Fcms\Core\Table.php 里定義了_List()方法,如下:
protected function _List($p = [], $size = 0) {
// 分頁(yè)數(shù)量控制
if (!$this->list_pagesize) {
if (!$size) {
if (IS_ADMIN) {
$size = (int)SYS_ADMIN_PAGESIZE;
} else {
$size = (int)$this->member_cache['config']['pagesize'];
if (IS_API_HTTP) {
$size = (int)$this->member_cache['config']['pagesize_api'];
} elseif (\Phpcmf\Service::IS_MOBILE()) {
$size = (int)$this->member_cache['config']['pagesize_mobile'];
}
}
}
!$size && $size = 10;
} else {
$size = $this->list_pagesize;
}
// 查詢數(shù)據(jù)結(jié)果
list($list, $total, $param) = \Phpcmf\Service::M()->init($this->init)->limit_page($size);
$p && $param = $p + $param;
$sql = \Phpcmf\Service::M()->get_sql_query();
// 分頁(yè)URL格式
$this->url_params && $param = dr_array22array($param, $this->url_params);
$uri = \Phpcmf\Service::L('Router')->uri();
$url = IS_ADMIN ?\Phpcmf\Service::L('Router')->url($uri, $param) :\Phpcmf\Service::L('Router')->member_url($uri, $param);
$url = $url.'&page={page}';
// 分頁(yè)輸出樣式
if (IS_ADMIN) {
$config = require CMSPATH.'Config/Apage.php';
} else {
$file = 'config/page/'.(\Phpcmf\Service::IS_PC() ? 'pc' : 'mobile').'/member.php';
if (is_file(WEBPATH.$file)) {
$config = require WEBPATH.$file;
} elseif (is_file(ROOTPATH.$file)) {
$config = require ROOTPATH.$file;
} else {
exit('無(wú)法找到分頁(yè)配置文件【'.$file.'】');
}
}
// 存儲(chǔ)當(dāng)前頁(yè)URL
\Phpcmf\Service::L('Router')->set_back(\Phpcmf\Service::L('Router')->uri(), $param);
$list_field = [];
// 篩選出可用的字段
if ($this->init['list_field']) {
foreach ($this->init['list_field'] as $i => $t) {
$t['use'] && $list_field[$i] = $t;
}
}
// 默認(rèn)顯示字段
!$list_field && $this->init['show_field'] && $list_field = [
$this->init['show_field'] => [
'name' => dr_lang('主題'),
'func' => 'title',
'width' => 0,
],
];
// 查詢表名稱
$list_table = \Phpcmf\Service::M()->dbprefix($this->init['table']);
if (isset($this->init['join_list'][0]) && $this->init['join_list'][0]) {
$list_table.= ','.\Phpcmf\Service::M()->dbprefix($this->init['join_list'][0]);
}
// 返回?cái)?shù)據(jù)
$data = [
'list' => $list,
'total' => $total,
'param' => $param,
'mypages' => \Phpcmf\Service::L('input')->table_page($url, $total, $config, $size),
'my_file' => $this->_tpl_filename('table'),
'uriprefix' => trim(APP_DIR.'/'.\Phpcmf\Service::L('Router')->class, '/'), // uri前綴部分
'list_field' => $list_field, // 列表顯示的可用字段
'list_query' => urlencode(dr_authcode($sql, 'ENCODE')), // 查詢列表的sql語(yǔ)句
'list_table' => $list_table, // 查詢列表的數(shù)據(jù)表名稱
];
\Phpcmf\Service::V()->assign($data);
return [$this->_tpl_filename('list'), $data];
}請(qǐng)問(wèn)這個(gè)函數(shù)里的參數(shù)$p該怎么用?看到官方在\dairui\Fcms\Control\Admin\Comment.php中是這么用的:
// 后臺(tái)查看列表
protected function _Admin_List() {
list($tpl) = $this->_List(['cid' => $this->cid]);
\Phpcmf\Service::V()->assign([
'p' => ['cid' => $this->cid],
]);
\Phpcmf\Service::V()->display($tpl);
}其中的list($tpl) = $this->_List(['cid' => $this->cid]); 傳了一個(gè)array參數(shù),但是我試了一下這里傳不傳這個(gè)參數(shù)都沒(méi)任何影響,正在學(xué)習(xí)迅睿二開,請(qǐng)各位不吝賜教。@迅??蚣軇?chuàng)始人
p是分頁(yè)的字符串,分頁(yè)就會(huì)多加一個(gè)&p=
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問(wèn)題!
回復(fù)迅??蚣軇?chuàng)始人 可是這里明明傳了參數(shù)$p:
但是分頁(yè)url里并沒(méi)有任何體現(xiàn)?。课覝y(cè)試把里邊參數(shù)都刪了也沒(méi)有任何變化。
http://***.com/szxww168.php?s=news&c=comment&m=index&cid=1140&total=11&order=inputtime+desc&page=2
麻煩迅睿框架創(chuàng)始人 幫忙看一下