갤러리 게시판 리스트에서 분류별로 정렬하려면...

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
갤러리 게시판 리스트에서 분류별로 정렬하려면...

QA

갤러리 게시판 리스트에서 분류별로 정렬하려면...

본문

갤러리 게시판 리스트에서 아래와 같이 노출되려면 어떻게 해야 할까요?

검색해도 비슷한게 없네요.

 

해당 게시판에 카테고리가 2개 있습니다.(분류명1|분류명2)

리스트에서 아래와 같이 보일려면 어떻게 해야 할까요?

고수님들의 고귀한 답변을 기다리겠습니다.

990366654_1737013275.8382.png

이 질문에 댓글 쓰기 :

답변 4

카테네임을 변수로 지정을 하고

$category = $list[$i]['ca_name'];
$target_categories = array('카테고리이름');

// 이런식으로 // 게시물의 카테고리 변수 설정 하고 실제카테이름을 설정해주고 하면되겟지요.

하여

해당스킨은 작업의뢰에 신청해야할듯 보입니다.

스킨 소스에서 for문을 다음 처럼 하면 됩니다

for ($i=0; $i<count($list); $i++) {

 if( $list[$i]['ca_name']=='분류2') continue;

 

위의 출력하는 for문을 복사헤서 위의 for문이 끝난 뒤쪽에 붙여넣은 후

for ($i=0; $i<count($list); $i++) {

 if( $list[$i]['ca_name']=='분류1') continue;

 

그런데 문제는 게시물이 6개만 있다면 질문처럼 되겟으나 분류1이 10개 분류2가 5개 라면

어덯게 하겠다는 것인가요?

 

 

분류명별로 콘텐츠를 시각적으로 구분된 블록으로 정렬할 수 있게,

데이터베이스에서 분류 정보를 기준으로 데이터를 가져오고,

출력 스킨에서 분류별 그룹화 및 HTML/CSS 스타일링을 적용하여

분류명과 그에 속한 게시물을 시각적으로 명확히 구분하도록 구현합니다.

 

*블록의 상단에 분류명을 명시하여 콘텐츠를 분류별로 구분

예로, skin/board/gallery/list.skin.php에서 분류별 그룹화 로직을 다음과 같이 작성


$current_category = '';
while ($row = sql_fetch_array($result)) {
    if ($current_category !== $row['ca_name']) {
        if ($current_category !== '') {
            echo "</div>"; // 이전 카테고리 닫기
        }
        $current_category = $row['ca_name'];
        echo "<h2>{$current_category}</h2>";
        echo "<div class='gallery-category'>";
    }
    // 게시물 출력
    echo "<div class='gallery-item'>";
    echo "<img src='{$row['wr_file']}' alt='{$row['wr_subject']}'>";
    echo "<p>{$row['wr_subject']}</p>";
    echo "</div>";
}
if ($current_category !== '') {
    echo "</div>"; // 마지막 카테고리 닫기
}

*동일한 크기의 사각형 콘텐츠

이미지 및 콘텐츠 항목을 균일한 크기로 정렬하여 한 행에 3개씩 표시합니다. HTML 구조에서 각 항목을 .gallery-item 클래스로 감싸고, CSS로 스타일링

skin/board/gallery/style.css


.gallery-category {
    display: flex;
    flex-wrap: wrap; /* 여러 줄로 배치 */
    gap: 1%; /* 항목 간 간격 */
    margin-bottom: 40px; /* 분류 간 간격 */
}
.gallery-category h2 {
    width: 100%; /* 분류명은 전체 줄 차지 */
    font-size: 24px;
    margin-bottom: 20px;
}
.gallery-item {
    flex: 1 1 calc(30% - 1%); /* 한 줄에 3개 */
    margin-bottom: 20px;
    text-align: center;
}
.gallery-item img {
    width: 100%;
    height: auto;
    border-radius: 5px;
}
.gallery-item p {
    margin-top: 10px;
    font-size: 16px;
    color: #555;
}

*분류 간 여백

gallery-category 클래스에 여백 스타일을 추가하여 각 분류 블록 간에 시각적인 구분


.gallery-category {
    margin-bottom: 40px; /* 분류 블록 간 간격 */
    padding: 10px;
    border-bottom: 1px solid #ddd; /* 분류 구분선 */
}

*콘텐츠 항목이 동일한 간격으로 정렬될 수 있도록 CSS inline-block 스타일과 여백을 적용.

위의 방안은 검색과 AI로 만들었으니, 추가 커스터마이징 하세요.

콘텐츠 개수의 변화나 분류 추가에도 유연하게 동작할 것입니다. ?

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT