최신글 수정
본문
안녕하세요.
최신글 관련 질문입니다.
<?php echo latest("theme/gallery", "portfolio", 12, 0); ?>
gallery의 소스코드는 아래와 같습니다.
보시다시피 tab으로 여러가지가 있습니다.
ca_name도 똑같이 추가를 했습니다.
( ca_name을 추가한다고 tab이 늘지는 않습니다. 이건 상관없음)
질문은
저렇게 최신글 출력코드로 최신글을 뿌려주면 12개의 최신글이 나오는데요.
WEB SITE, SHOPPING MALL 등도 각 탭을 눌렀을 때12개씩 나오게 하고 싶습니다.
( 각각 12개 꽉꽉 채워서 - 각각 12개씩은 넘게 있다는 가정하에 )
예를 들어
ALL | WEBSITE | SHOPPINGMALL | MOBILE | BLOG&CAFE | ETC
12개 2개 3개 4개 3개 0개
처음에는 이렇게 각각 WEB~ETC까지 합쳐서 12개가 출력이 되고,
WEBSITE 탭을 누른다고 해도 2개 밖에 나오지 않는데,
WEBSITE 탭을 누르면 WEBSITE 12개가 출력되고 싶습니다.
<?
if (!defined('_GNUBOARD_')) exit; //개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
$set_value = explode("/","284/207/1200px");
$thumb_width = $set_value[0]; //썸네일 가로 크기
$thumb_height = $set_value[1]; //썸네일 세로 크기
$bottom_width = ($thumb_width +10 ) * $set_value[2] -10; //전체 가로 크기
add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);
?>
<div class="big-demo go-wide" data-js-module="filtering-demo">
<div class="filter-button-group button-group js-radio-button-group " >
<div class="filters">
<ul>
<li><button class="button is-checked" data-filter="*">ALL</button></li>
<li><button class="button" data-filter=".WEBSITE">WEB SITE</button></li>
<li><button class="button" data-filter=".SHOPPINGMALL">SHOPPING MALL</button></li>
<li><button class="button" data-filter=".MOBILE">MOBILE</button></li>
<li><button class="button" data-filter=".BLOG">BLOG&CAFE</button></li>
<li><button class="button" data-filter=".ETC">ETC</button></li>
</ul>
</div>
</div>
<div class="bott1_thumb grid">
<? if (!count($list) == 0) { ?>
<?
for ($i = 0; $i < count($list); $i++) {
$noimg = $latest_skin_url.'/img/_noimg.gif';
$thumb = get_list_thumbnail($bo_table, $list[$i]['wr_id'], '284', '207');
if($thumb['src']) {
$img_src = $thumb['src'];
} else {
$img_src = $noimg;
}
$img_alt = $thumb['alt'];
if($i>0 && ($i%$set_value[2]) == ($set_value[2] - 1)) {
$li_class = '';
} else {
$li_class = ' class="';
}
?>
<div <?=$li_class?>element-item <?php echo $list[$i]['ca_name']?>">
<a href="<?=$list[$i]['href'] ?>">
<img src="<?= $img_src?>" alt="<?=$img_alt?>" width="<?= $thumb_width?>" height="<?= $thumb_height?>" >
</a>
</div>
<? } ?>
<? } else { ?>
<p class="bott1_no_list">게시물이 없습니다.</p>
<? } ?>
</div>
</div>
<script src='http://production-assets.codepen.io/assets/common/stopExecutionOnTimeout-58d22c749295bca52f487966e382a94a495ac103faca9206cbd160bdf8aedf2a.js'></script>
<script src='http://npmcdn.com/isotope-layout@3/dist/isotope.pkgd.js'></script>
<script>var $grid = $('.grid').isotope({ itemSelector: '.element-item' });
var filters = {};
$('.filters').on('click', '.button', function () {
var $this = $(this);
var $buttonGroup = $this.parents('.button-group');
var filterGroup = $buttonGroup.attr('data-filter-group');
filters[filterGroup] = $this.attr('data-filter');
var filterValue = concatValues(filters);
$grid.isotope({ filter: filterValue });
});
$('.button-group').each(function (i, buttonGroup) {
var $buttonGroup = $(buttonGroup);
$buttonGroup.on('click', 'button', function () {
$buttonGroup.find('.is-checked').removeClass('is-checked');
$(this).addClass('is-checked');
});
});
function concatValues(obj) {
var value = '';
for (var prop in obj) {
if (window.CP.shouldStopExecution(1)) {
break;
}
value += obj[prop];
}
window.CP.exitedLoop(1);
return value;
}
//# sourceURL=pen.js
</script>
답변 1
전체적으로 수정을 좀 가해서 각각의 카테고리별로 12개씩 불러오는 최신글 플러그인(?)을 만든 다음에 tab은 메인페이지로 꺼내서 하는게 낫지 않을까요?
그러니까 전체에서 12개 최신글을 로드하고, WEBSITE, SHOPPINGMALL, MOBILE, BLOG&CAFE, ETC 각각의 카테고리별로 12개씩 최신글을 로드한 다음에
구현하신 탭을 메인으로 꺼내서 각각의 로드된 최신글을 wrap 할 수 있게 하는거죠
생각나는 방법이 이런거밖에 없네요 ㅠ