From 7e958a7ac9d2d3e09833307893c7d7ed139bc468 Mon Sep 17 00:00:00 2001 From: taekyoungc Date: Thu, 9 Jul 2026 16:02:20 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=95=EC=9D=84=20lazy=20loading(=EB=AC=B4=ED=95=9C?= =?UTF-8?q?=20=EC=8A=A4=ED=81=AC=EB=A1=A4)=EC=9C=BC=EB=A1=9C=20=ED=91=9C?= =?UTF-8?q?=EC=A4=80=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 공용 CI4 pager 템플릿(components/pager.php)을 페이지 번호 대신 무한 스크롤 방식으로 교체. 화면 하단 도달 시(IntersectionObserver) 다음 페이지 HTML을 받아 리스트 표에 이어붙이고, '더보기' 버튼을 폴백으로 둔다. Config\Pager의 default 템플릿이라 전체 리스트 화면에 일괄 적용된다. Co-Authored-By: Claude Opus 4.8 --- app/Views/components/pager.php | 123 ++++++++++++++++++++++++++------- 1 file changed, 97 insertions(+), 26 deletions(-) diff --git a/app/Views/components/pager.php b/app/Views/components/pager.php index 689b880..aeb94f4 100644 --- a/app/Views/components/pager.php +++ b/app/Views/components/pager.php @@ -1,38 +1,109 @@ links() ?>` 호출이 이 컴포넌트를 렌더한다. + * 페이지 번호 대신 센티넬 + '더보기' 버튼을 두고, 화면 하단 도달 시(IntersectionObserver) + * 다음 페이지 HTML을 받아 바로 위 리스트 표(tbody)에 행을 이어붙인다. * * @var \CodeIgniter\Pager\PagerRenderer $pager */ -$pager->setSurroundCount(2); +$hasNext = $pager->hasNextPage(); +$nextUrl = $hasNext ? (string) $pager->getNextPage() : ''; +$curPage = (int) $pager->getCurrent(); +$pageCount = (int) $pager->getPageCount(); ?> + 1): ?> +
+ + +
+