사이트를 구경하다가 특이한 기능이 있는걸 발견해서요
https://dev.to
개발자 전문 커뮤니티인데
저기는 최근 게시물 1개에 대해서만 목록에 썸네일을 출력해주던데
라이믹스 게시판 목록에서도 최근 게시물 1개에 대해서만 목록에 썸네일을 저렇게 출력이 가능한가해서요!
어떤식으로 목록 파일에 입력해야 저런식으로 1개만 출력이 가능할까요?
이전 게시물에 이런 글이 없는것 같아 문의드려봐요!
PHP | PHP 7.4 |
---|---|
CMS | Rhymix 2.0 |
사이트를 구경하다가 특이한 기능이 있는걸 발견해서요
https://dev.to
개발자 전문 커뮤니티인데
저기는 최근 게시물 1개에 대해서만 목록에 썸네일을 출력해주던데
라이믹스 게시판 목록에서도 최근 게시물 1개에 대해서만 목록에 썸네일을 저렇게 출력이 가능한가해서요!
어떤식으로 목록 파일에 입력해야 저런식으로 1개만 출력이 가능할까요?
이전 게시물에 이런 글이 없는것 같아 문의드려봐요!
외부에 있어서 검증은 안해봤지만 대략 이런 식의 조건문이면 될 것 같아요.
($total_count - $no) % $module_info->list_count === 0
다만 위의 변수들이 모두 숫자열이어야 하는데, 만약 문자열이면 숫자열 처리를 해야겠구요.
그리고 제 기억이 맞다면 목록이 어떻게 정렬이 되든 첫번째 게시물부터 $no이 큰 숫자에서 작은 숫자로 나왔던 것 같은데, 그걸 전제로 위와 같이 조건문을 짜볼 수 있을 것 같습니다.
암튼 정확하게는 해봐야 알겠지만 (전체글수 - 문서번호)를 목록수로 나눈 나머지값이 0이면 될 것 같아요.
{@
if($total_count - $no) % $module_info->list_count === 0;
if(!$mi->thumb_count) $mi->thumb_count = 1;
if($mi->thumb_count > 2 && $_is_mobile) $mi->thumb_count = 2;
if(!$mi->thumb_type) $mi->thumb_type = 'crop';
if(!$mi->thumb_ratio) $mi->thumb_ratio = 63;
$_is_mobile?$_thumb_s = 15:$_thumb_s = 25;
$_thumb_space = $_thumb_s*($mi->thumb_count-1);
$_is_mobile?$_thumb_width = round(750/$mi->thumb_count, 2):$_thumb_width = round(($layout_info->layout_width-$_thumb_space)/$mi->thumb_count, 2);
if($mi->thumb_type == 'ratio'):
$_thumb_height = 'auto';
else:
$_thumb_height = round($_thumb_width*($mi->thumb_ratio/100), 2);
endif;
if(!$mi->subject_cut_size) $mi->subject_cut_size = 90;
if(!$mi->content_cut_size) $mi->content_cut_size = 250;
$_has_profile = $list_config['nick_name'] && $mi->show_list_profile;
if($_is_mobile):
$_show_category = $mi->use_category == 'Y' && !$mi->show_category;
else:
$_show_category = $mi->use_category == 'Y' && $mi->show_category != 'N';
endif;
}
제가 사용하고 있는 게시판 목록에 맨상단에 있는 부분인데
알려주신부분에서 저렇게 넣어봤는데 작동은 안하더라구요
다른게 추가되거나 수정해야할 부분이 있을까요?
위 방법대로 하지말고
어차피 반복문은 몇번 돌리던 상관없으니 썸네일이 있는 이미지의 제일 첫번째 데이터만 가져오도록 하면되겠습니다.
해당 스킨 출력하는 부분 위에서
<[email protected]($documents as $no => $document)-->
<[email protected]($document->getThumbnail())-->
{
$firstTh = $document->getThumbnail;
braek;
}
<[email protected]>
<[email protected]>
이렇게 해서
<[email protected]($firstTh)-->
이미지 출력
<[email protected]>
뭐 이런식?
테스트는 안해봣는데 템플릿에서 break가 안먹히면 그냥 $fristTh가 있으면 continue 으로 넘어가게 하거나 등등.. 방법은 많이있긴합니다.
상황에 따라 골라서 구현하시면 되겠습니다.
일단 해당 조건문은 게시판 목록이 loop 돌아가는 안쪽에 들어가야 해요.
대강 이런 식의 구조가 될 겁니다.
<li loop="$document_list=>$no,$document">
<[email protected](($total_count - $no) % $module_info->list_count === 0 && $list_config['thumbnail'] && $document->thumbnailExists())-->
<img src="{$document->getThumbnail()}" />
<[email protected]>
블라블라~~ 기타 문서 정보들
</li>
일단 드는 생각으로는 목록에 $i 같은 순번을 매기고 첫 번째 순번일 때 썸네일을 갖고 오는 방식이 있을 것 같습니다.
덧 : 게시판의 경우는 $no와 $module_info->list_count, $total_count, $page 등으로 계산식을 만들어서 첫 번째 순번인지를 식별하는 방법도 있을 것 같네요.