Instructions
Version utilisée : 5.1.35 LTS
Un scénario rencontré est , le data est un tableau obtenu à partir de l'interface d'appel à distance RPC et doit être affiché sur la page frontale.
Solution
Vous pouvez utiliser la méthode make de la classe thinkPaginate pour créer des données paginées. Créer un prototype de méthode :
/** * @access public * @param $items 需要分页的数据 * @param $listRows 每页数据条数 * @param null $currentPage 当前页数 * @param null $total 总页数 * @param bool $simple 是否使用简单模式(只有上一页和下一页) * @param array $options 其他参数选项,如查询参数,url路径等 * @return Paginator 返回一个分页对象 */ public static function make($items, $listRows, $currentPage = null, $total = null, $simple = false, $options = []) { return new static($items, $listRows, $currentPage, $total, $simple, $options); }
Veuillez consulter les commentaires du code pour les paramètres qui doivent être transmis.
La classe thinkPaginate étant une classe abstraite, une autre classe doit en hériter pour utiliser ses méthodes publiques. La classe thinkpaginatordriverBootstrap du framework en hérite, vous pouvez donc utiliser cette classe pour appeler la méthode make.
Ainsi, vous pouvez écrire une méthode pour créer des données de pagination à partir d'un tableau, qui ressemble probablement à ceci :
private function getPaginateData($data, $page, $query){ return Bootstrap::make($data, $perPage, $page, $total, false, ['path' => url('module/controller/action'), 'query' => $query]); }
Après avoir utilisé cette méthode pour générer un objet de pagination, par exemple : $data = $this->getPaginateData (...), affichez-le dans le modèle dans le contrôleur, puis ajoutez-le à la page du modèle :
{$data|raw}
Le moteur de modèle restituera automatiquement le style de pagination.
Tutoriel recommandé : tutoriel thinkphp
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!