Extra Form
PHP PHP 7.4
CMS Rhymix 2.0

화면 캡처 2022-05-12 133314.png

 

 

사이트를 구경하다가 특이한 기능이 있는걸 발견해서요

 

https://dev.to

 

개발자 전문 커뮤니티인데

 

저기는 최근 게시물 1개에 대해서만 목록에 썸네일을 출력해주던데

라이믹스 게시판 목록에서도 최근 게시물 1개에 대해서만 목록에 썸네일을 저렇게 출력이 가능한가해서요!

 

어떤식으로 목록 파일에 입력해야 저런식으로 1개만 출력이 가능할까요?

 

이전 게시물에 이런 글이 없는것 같아 문의드려봐요!

  • profile

    일단 드는 생각으로는 목록에 $i 같은 순번을 매기고 첫 번째 순번일 때 썸네일을 갖고 오는 방식이 있을 것 같습니다.

     

    덧 : 게시판의 경우는 $no와 $module_info->list_count, $total_count, $page 등으로 계산식을 만들어서 첫 번째 순번인지를 식별하는 방법도 있을 것 같네요.

  • profile profile
    가능하군요~ 좋은 답변 감사합니다!
  • profile ?
    loop 말고 말씀하신 계산식이 좋을것 같은데....힌트를 좀 더 주시면 고맙겠습니다. ^^
  • ? profile

    외부에 있어서 검증은 안해봤지만 대략 이런 식의 조건문이면 될 것 같아요.
    ($total_count - $no) % $module_info->list_count === 0

    다만 위의 변수들이 모두 숫자열이어야 하는데, 만약 문자열이면 숫자열 처리를 해야겠구요.
    그리고 제 기억이 맞다면 목록이 어떻게 정렬이 되든 첫번째 게시물부터 $no이 큰 숫자에서 작은 숫자로 나왔던 것 같은데, 그걸 전제로 위와 같이 조건문을 짜볼 수 있을 것 같습니다.

     

    암튼 정확하게는 해봐야 알겠지만 (전체글수 - 문서번호)를 목록수로 나눈 나머지값이 0이면 될 것 같아요.

  • profile profile

    {@

        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;

    }

     

    제가 사용하고 있는 게시판 목록에 맨상단에 있는 부분인데

    알려주신부분에서 저렇게 넣어봤는데 작동은 안하더라구요

     

    다른게 추가되거나 수정해야할 부분이 있을까요?

  • profile profile
    ($total_count - $no) % $module_info->list_count === 0 은...
    if(($total_count - $no) % $module_info->list_count === 0) 이렇게 들어가게 되어야 하는 항목입니다..
  • profile profile

    위 방법대로 하지말고

    어차피 반복문은 몇번 돌리던 상관없으니 썸네일이 있는 이미지의 제일 첫번째 데이터만 가져오도록 하면되겠습니다.

     

    해당 스킨 출력하는 부분 위에서

    <!--@foreach($documents as $no => $document)-->
    <!--@if($document->getThumbnail())-->
    {
    $firstTh = $document->getThumbnail;
    braek;
    }
    <!--@end-->
    <!--@end-->
    이렇게 해서

    <!--@if($firstTh)-->
    이미지 출력
    <!--@end-->

    뭐 이런식?

     

    테스트는 안해봣는데 템플릿에서 break가 안먹히면 그냥 $fristTh가  있으면 continue 으로 넘어가게 하거나 등등.. 방법은 많이있긴합니다.

     

    상황에 따라 골라서 구현하시면 되겠습니다.

  • profile profile

    일단 해당 조건문은 게시판 목록이 loop 돌아가는 안쪽에 들어가야 해요.

    대강 이런 식의 구조가 될 겁니다.

    <li loop="$document_list=>$no,$document">
    <!--@if(($total_count - $no) % $module_info->list_count === 0 && $list_config['thumbnail'] && $document->thumbnailExists())-->
    <img src="{$document->getThumbnail()}" />
    <!--@end-->

    블라블라~~ 기타 문서 정보들
    </li>

  • profile profile
    감사합니다
    람보님 바로 구현이 되네요^^!

    오늘도 람보님 덕분에 하나 배웠습니다!
  • profile profile
    감사합니다
    윤삼님 바로 구현이 되네요^^!! 신기신기!!

    오늘도 윤삼님 덕분에 하나 배웠습니다!!!
  • profile ?
    윤삼님 덕분에 필요할떄 마다 사용 할수 있겠습니다.
  • profile
    라이믹스로 개발할 수 있는 범위는 다른곳(타 CMS)에서 사용하는 방식 포함해서 모든 형태의 사이트를 다 구현이 가능하다고 보시면 됩니다.
  • profile profile
    결국 개발 능력이 ^^;;

    개발자분들이 매번 부럽네요~