먼저 ThinkPHP 버전 3.1의 페이징 스타일에 대해 불평해 보겠습니다. 매우 단순하고 우아해 보이지만 모든 페이지 번호가 단순한 숫자를 사용하고 있으며 그 사이의 간격이 비교적 작아서 하기가 쉽지 않습니다. "이전" 5페이지" 및 "다음 5페이지"는 약간 중복됩니다. 현재 첫 번째 페이지를 표시하는 "이전 페이지" 버튼을 클릭하면 자연스럽게 처음 5페이지가 표시되기 때문입니다.
3.1의 페이징 효과는 다음과 같습니다.
위의 만족스럽지 못한 상황과 ThinkPHP5의 최근 학습을 고려하여 ThinkPHP5는 BootStrap 페이징 스타일을 완벽하게 지원합니다. Thinkphp5에서는 BootStrap.css 파일이 도입되면 컨트롤러를 사용할 때 페이징이 사용됩니다. 기능을 사용하면 BootStrap 스타일에 따라 프런트 데스크가 자연스럽게 표시됩니다.
Dingqiu.com을 개발할 당시에는 ThinkPHP5가 아직 나오지 않았고 버전 3.1을 사용하고 있었습니다. 그러면 버전 3.1에서 BootStrap의 페이징 구성 요소를 어떻게 사용할 수 있습니까?
1. thinkphp의 기본 page.class.php 클래스 파생
코어 파일에 영향을 주지 않기 위해(디자인 패턴의 수정 사항을 닫는 원칙 위반) ListPage 서브클래스를 파생시켰습니다. 서브클래스의 코드는 다음과 같습니다.
import('ORG.Util.Page');// 导入分页类 class ListPage extends Page {//针对本系统User控制器特点重写Page类中相关函数 /** * 分页显示输出 * @access public */ protected $config = array('header'=>'条记录','prev'=>'<','next'=>'>', 'first'=>'<<','last'=>'>>', 'theme'=>'%first% %upPage% %linkPage% %downPage% %end%'); ……
보시다시피 먼저 핵심 클래스가 있는 파일을 import한 뒤 과감하게 파생시키면 여기에는 핵심 코드만 나열되어 있습니다. 페이지 클래스의 Config 변수를 수정하고 하위 클래스의 변수를 위 형식으로 다시 작성한 다음 모든 작업(컨트롤러)에서 이 하위 클래스를 사용하여 페이징 개체를 생성하면 됩니다.
$Page=new ListPage($count,5);
이렇게 하면 위의 설정을 사용할 수 있습니다. 새로운 페이지 매김 표시 효과는 다음과 같습니다.
위 내용은 개인화된 페이징 스타일을 만들기 위해 편집자가 소개한 Thinkphp와 Bootstrap의 조합입니다(권장). 궁금한 사항이 있으면 메시지를 남겨주시면 편집자가 도와드리겠습니다. 시간 내에 답장을 보내주십시오. 또한 Script House 웹사이트를 지원해 주시는 모든 분들께 감사의 말씀을 전하고 싶습니다!