게시판 리스트에서 한칸 말고 두칸
본문
수고 하십니다.
리스트에서 게시물이 한칸에 한개씩 나오는데요.
1. 게시물
2. 게시물
3. 게시물
한칸에 두개씩 나오게 할 수 있을까요?
1. 게시물 / 2. 게시물
3. 게시물 / 4. 게시물
5. 게시물 / 6. 게시물
조언 좀 부탁드립니다.
감사합니다.
답변 4
해당 스킨의 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 } ?>
<?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 } ?>
*$i+=2를 통해 반복문을 두 개씩 건너뛰도록
*첫 번째와 두 번째 게시물을 각각의 <td>로 나누어 한 행에 출력
*홀수일 때 마지막 게시물이 남는 경우 빈 칸( )을 출력해 레이아웃 깨짐을 방지
!-->보통은 LI 에 float:left 해주고 너비를 50% 해주면 됩니다.
li나 div는 블럭요소라 float:left 줘야 옆으로 나란히 정렬됩니다.
css로 디자인을 하는거라서 홈페이지마다 디자인이 달라서 원하시는 디자인을 정확하게 얻기 힘드실거 같습니다.
li나 div 여러 가지 방식으로 50% 크기를 가지게 해서 디자인을 하셔야 할 거 같습니다.
해당틀은 전반적으로 css와 코딩 수정이 필요한 사항이라서요
답변을 작성하시기 전에 로그인 해주세요.