제목 | 페이지네이팅 링크 paginating | ||
---|---|---|---|
카테고리 | CI 4 관련 | ||
글쓴이 | 장까망 | 작성시각 | 2024/02/11 11:24:43 |
|
|||
버전: CI4.4.4
안녕하세요. 페이지네이팅 구현 중에 문제가 발생하였습니다. 10개, 5개 또는 3개씩 끊어서 출력하는 페이징은 잘 작동합니다. 하지만, 페이지의 링크에서 문제가 발생합니다.
#문제점 제가 예상하는 2페이지의 정상적인 페이지는 localhost/notice?page=2 입니다. 수동으로 브라우저 주소창에 주소를 입력하면 페이지가 정상적으로 나타답니다. 하지만, 2페이지의 링크 주소가 localhost/ci4/index.php/notice?page=2 로 설정이 되며 404 에러 메세지를 출력합니다. 못보던 localhost/ci4/index.php/notice?page=2 때문에 에러가 발생하는 듯 합니다. 위의 링크 중에서 /ci4/ 라는 프로젝트 폴더명을 제외하고싶습니다. 페이징의 다음 페이지의 주소를 담당하는 부분이 어디인지만 알려주셔도 이거저거 테스트 해보겠습니다.
환경설정, Controllers, Views 의 정보를 알려드립니다. **페이지의 이동할때 링크는 수동적으로 <a href="/notice">공지사항</a> 입력합니다만 현재 페이지네이팅 링크는 자동으로 생성이 되는 것으로 알고 있습니다.
#환경설정 app\Config\App.php public string $baseURL = 'http://localhost/ci4/'; **indexPage = '' 으로 변경하여도 여전히 localhost/ci4/notice?page=2 로 불필요한 ci4 가 존재합니다. #환경설정 .env app_baseURL = 'http://localhost/ci4/'
#Controllers>Notice.php <?php namespace App\Controllers; use App\Models\NoticeModel; use CodeIgniter\Exceptions\PageNotFoundException; class Notice extends BaseController{ public function index() { $model = model(NoticeModel::class); $data = [ // 'notice' => $model->getNotice(), //모두 출력 'notice' => $model->paginate(3), //pagination 'pager' => $model->pager, //pagination ]; return view('templates/header', $data) . view('notice/index') . view('templates/footer'); } }
#Views\notice\index.php .... 리스트 출력 ... <?php echo $pager->links() ?> <?php echo $pager->simpleLinks() ?>
#Config\Routes.php <?php use CodeIgniter\Router\RouteCollection;
$routes */$routes->get('/', 'Home::index'); use App\Controllers\Notice;
$routes->get('notice', [Notice::class, 'index']); $routes->get('notice/new', [Notice::class, 'new']); $routes->post('notice', [Notice::class, 'create']); $routes->get('notice/(:segment)', [Notice::class, 'show']); $routes->get('notice/edit/(:segment)', [Notice::class, 'edit']); $routes->get('notice/delete/(:segment)', [Notice::class, 'delete']); |
|||
다음글 | 결제 이후 세션 사라지는 부분 (3) | ||
이전글 | CentOs7 / ftp root계정 접속 관련 질문입... (3) | ||
장까망
/
2024/02/11 20:41:20 /
추천
0
|
스스로 답글을 남깁니다.
baseURL을 localhost/ci4/ 에서 localhost/ 로 변경하였더니만 정상적으로 작동합니다.