컨트롤러에서 최근글 모듈 생성 시 다중 게시판을 동적으로 선택할 수 있도록, 전체 게시판 목록을 디자인 관리 뷰로 전달합니다.
[MODIFY] src/Controllers/TenantAdminController.php
design()메서드 내에서boards테이블을 조회하여 전체 게시판 목록($boardTitles)을 가져옵니다.- 뷰 렌더링 시
$boardTitles데이터를 배열로 넘겨줍니다.
디자인 관리자 뷰 (메인 레이아웃 탭) 개편
사용자 요청에 맞춰 메인 레이아웃 모듈 빌더 UI를 전면 수정합니다.
[MODIFY] templates/admin/design.php
- 모듈 추가 버튼 수정: 메인 슬라이드, 배너 모듈, 최근글 모듈 3가지 버튼만 남깁니다. (프로필, 전화번호, SNS 제거)
- 배너 모듈 옵션 추가: 배치된 배너 모듈 설정창에 기존에 등록된
$banners목록을 노출하는<select>를 추가합니다. - 최근글 모듈 옵션 대폭 확장:
- 모듈 프레임:
- 가로 사이즈 (100% 꽉참 vs 박스내 제한)
- 배경색 (Color Picker)
- 그라데이션 오버레이 (방향 및 색상 지정)
- 배경 이미지 URL
- 상하 마진 (Margin), 상하 여백 (Padding)
- 게시판 선택: 하드코딩된 목록 대신 DB에서 가져온 전체 게시판을 체크박스(다중 선택)로 노출.
- 노출 옵션: PC / 모바일 가로 노출 개수(
slidesPerView), 총 추출 개수, 제목 글자수, 내용 글자수, 이미지 비율(16:9, 4:3, 1:1 등). - 슬라이드 옵션: 자동 슬라이드, 슬라이드 간격(ms), 좌우 화살표 표시 여부.
- 모듈 프레임:
사용자 프론트엔드 (메인 화면) 렌더링 개편
저장된 JSON 레이아웃 구조를 해석하여 화면에 출력하는 로직을 업데이트합니다.
[MODIFY] templates/posts/index.php
- 레이아웃 렌더링 루프에서
phone,sns,profile관련 코드를 제거합니다. banner모듈 렌더링 코드 신규 추가: 선택된 배너 ID에 해당하는 배너 데이터를 조회하여 Swiper.js 형태의 배너 슬라이더를 렌더링합니다.recent_posts모듈 렌더링 방식 전면 교체:- 모듈 프레임 적용: 설정된 상하 마진/패딩, 100% 너비 여부, 배경 이미지 및 그라데이션 스타일을 inline CSS로 래퍼에 적용.
- Swiper.js 탑재: 커스텀 JS 트래커 대신 안정적인 Swiper.js 적용.
- 무한 루프 슬라이드 (
loop: true)로 끝에서 역회전 없이 자연스럽게 연결되게 구성. breakpoints옵션을 통해 PC와 모바일의 노출 개수 동적 적용.- 터치 스와이프 활성화, 모바일에서는 좌우 여백을 최소화하여 꽉 찬 화면 느낌 제공.
- 무한 루프 슬라이드 (
- 콘텐츠 길이 조절: 설정된 제목 글자수, 내용 글자수를
mb_strimwidth로 잘라내어 노출. - 이미지 비율: 썸네일 영역에 CSS
aspect-ratio를 설정값에 맞게 동적 적용.
댓글 0