테스트 사이트 - 개발 중인 베타 버전입니다

게시판 리스트에서 한칸 말고 두칸 채택완료

허걱김선생 7개월 전 조회 2,030

수고 하십니다.

 

리스트에서 게시물이 한칸에 한개씩 나오는데요.

 

1. 게시물

2. 게시물

3. 게시물

 

 

한칸에 두개씩 나오게 할 수 있을까요?

 

1. 게시물 / 2. 게시물

3. 게시물 / 4. 게시물

5. 게시물 / 6. 게시물

 

조언 좀 부탁드립니다.

 

감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
glitter0gim
7개월 전

해당 스킨의 list.skin.php에서,
게시물 리스트를 처리하는 반복문 내에서 두 개의 게시물을 묶어서 출력하도록 변경하시면~

기존의 for 반복문을 한 번에 두 개씩 처리하도록 하고,

테이블의 <td> 태그를 한 행당 두 개로 배열한 뒤,

마지막 게시물이 홀수일 경우 빈 칸으로 처리하는 로직을 추가하시면~

for ($i=0; $i<count($list); $i++) {
    if ($i%2==0) $lt_class = "even";
    else $lt_class = "";
?>
<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?> <?php echo $lt_class ?>">
    <td class="td_subject">
        <a href="<?php echo $list[$i]['href'] ?>"><?php echo $list[$i]['subject'] ?></a>
    </td>
</tr>
<?php } ?>

</p>

<p data-pm-slice="1 1 []"><?php

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

    $lt_class = ($i/2)%2==0 ? "even" : "";

?>

<tr class="<?php echo $lt_class ?>">

    <td class="td_subject">

        <a href="<?php echo $list[$i]['href'] ?>">

            <?php echo $list[$i]['subject'] ?>

        </a>

    </td>

    <td class="td_subject">

        <?php if(isset($list[$i+1])) { ?>

        <a href="<?php echo $list[$i+1]['href'] ?>">

            <?php echo $list[$i+1]['subject'] ?>

        </a>

        <?php } else { echo ' '; } ?>

    </td>

</tr>

<?php } ?></p>

<p>

*$i+=2를 통해 반복문을 두 개씩 건너뛰도록

*첫 번째와 두 번째 게시물을 각각의 <td>로 나누어 한 행에 출력

*홀수일 때 마지막 게시물이 남는 경우 빈 칸(&nbsp;)을 출력해 레이아웃 깨짐을 방지

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

플라이
7개월 전
Html5구조는 테이블태그를 사용하는건 비추천드려요~~
g
glitter0gim
7개월 전
@플라이
HTML5에서는 레이아웃을 만들 때 테이블 사용을 권장하지 않는다지만,
해당은 리스트를 테이블 형태로 표시하는 것이 적절하지 않을까? 싶습니다.
만약 반응형 디자인이라면, 적절한 활용 방식도 있겠습니다만,
기존 코드가 테이블 구조를 기반으로 하고 있으므로,
이를 유지하면서도 최적화하는 것이 현실적이지 않나 싶습니다!
조언, 감사합니다! '◡'
허걱김선생
7개월 전
프로그래머가 아니라 무슨 말씀이신지 모르겠지만
답변 감사합니다. ^^;
g
glitter0gim
7개월 전
(●'◡'●) 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
7개월 전

보통은 LI 에 float:left 해주고 너비를 50% 해주면 됩니다.

li나 div는 블럭요소라 float:left 줘야 옆으로 나란히 정렬됩니다.

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

허걱김선생
7개월 전
답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

플라이
7개월 전

해당틀은 전반적으로 css와 코딩 수정이 필요한 사항이라서요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

허걱김선생
7개월 전
답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

7개월 전

css로 디자인을 하는거라서 홈페이지마다 디자인이 달라서 원하시는 디자인을 정확하게 얻기 힘드실거 같습니다. 

li나 div 여러 가지 방식으로 50% 크기를 가지게 해서 디자인을 하셔야 할 거 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

허걱김선생
7개월 전
답변 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인