Q&A

위젯 쿼리문 이용해서 레이아웃에서 최신글 뽑아오는 것까진 했는데 썸네일도 그런 식으로 가져오고 싶은데

역량 부족이네요. ㅠ_ㅠ;

 

                {@
                $mid = look_layout;
                $oModuleModel = getModel('module');
                $module_srl = $oModuleModel->getModuleSrlByMid($mid);
                $args = new stdClass();
                $args->module_srl = $module_srl;
                $args->document_srl = $obj->document_srl;
                $args->list_count = 10;
                $args->thumbnail_width = 180;
                $args->thumbnail_height = 180;
                $args->thumbnail_type = crop;
    //            $thumbnail = $oComment->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
    //            $content_item->setThumbnail($thumbnail);
                $thumbnail_path = sprintf('files/thumbnails/%s',getNumberingPath($args->document_srl, 3));
                $thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, $args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
                $thumbnail_url  = Context::getRequestUri().$thumbnail_file;
                $list = executeQuery('document.getDocumentList',$args);
                debugprint($this->document_srl);
                }
                <ul>
                    <li loop="$list->data => $key, $val"><a href="{$val->document_srl}" title="{$val->title}"><span class="thumb"><img src="{$thumbnail_url}" alt="" /></span><span class="subject">{$val->title}</span></a></li>
                </ul>

 

어떻게 수정하면 썸네일도 제대로 된 주소를 가져올까요....;;

지금 문제는 뭐냐면 해당 document_srl 을 못 가져오는 것 같은데요.. 이걸 어떻게 해결할 수 있을까요;;

eond Lv. 13
# 라이믹스 스킨 제작은 어디? >>>> XE 레이아웃, 라이믹스 스킨제작은 이온디에서 커스터마이징해드립니다.
# 빠른 라이믹스 커뮤니티용 호스팅을 찾고 계신가요? >>>> 이온디호스팅 서비스는 PHP8 & Redis 서버 캐시를 활용하여 라이믹스에 최적화된 호스팅 서비스를 제공해드립니다. (서버세팅시 웹패널, 내도메인메일서비스도 함께 구축해드립니다.)
https://eond.com

댓글 12

  • 2015.08.05 12:58 #1821
    $oComment->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);

    이걸로 됩니다. 하지만 $oComment 오브젝트를 안넘겨줘서 그런것 같습니다.
  • 2015.08.05 16:59 #1948
    해당 코드를 넣으면 아예 페이지가 그 코드 부분에서 깨져서 나오지 않네요.
    $oComment 만 넣고 debugprint($oComment); 해보면 null 값만 나오고요.;;;
  • 2015.08.06 00:36 #1959
    네.. 위젯에서 $oComment 넘겨줘야 합니다. 넘겨주지않으니까 당연히 null이 나오지요.

    어떤위젯입니까?
  • 2015.08.06 03:18 #1981
    위젯은 아니구요,
    https://xetown.com/use_tip/329
    이렇게 위젯을 거치지 않고 바로 레이아웃에서 최신글 뽑아오기를 해보는데, 썸네일도 저런 방법으로 가져와보고 싶어서요;;
  • 2015.08.06 03:33 #1984
    아, 참 레이아웃이지..

    <li loop="$list->data => $key, $val">
    {@ $oDocument = new documentItem();$oDocument->setAttribute($val);}
    (@ $thumbnail_url = $oDocument->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);)

    <a href="{$val->document_srl}" title="{$val->title}"><span class="thumb"><img src="{$thumbnail_url}" alt="" /></span><span class="subject">{$val->title}</span></a>
    </li>

    이렇게하면 됩니다.

    레이아웃 자체적일때는 비효율적입니다. 그냥 위젯으로 하심이..
  • 2015.08.06 03:34 #1987

    감사합니다. 레이아웃 자체적으로 할 때는 왜 비효율적인지 알 수 있을까요? ^^;

    제가 다른 글에서 어떤 분이 이렇게 하는 차이가 뭐냐고 물으셔서 이렇게 대답했는데 제가 잘못 알고 있는 부분이 있나요?;

    '어차피 이 방법도 위젯 코드의 쿼리문을 이용해서 디비에 접속해서 가져오는 거라 백엔드 단에서의 속도 차이는 없다고 들었습니다만 다만 위젯 코드의 HTML, CSS 등을 가져오는 정도의 속도 차이는 미세하게 존재하지 않을까 싶네요. 
    위젯들도 캐시를 이용해서 한 번 가져온 것을 뿌려오는 정도로 사용한다면 사실 그것도 거의 차이는 없을 거에요.'
    ps. 크롬 알림 뜨니깐 완전 편리하네요? ^^;;;;;;;;;;;;

  • 2015.08.06 03:36 #1990
    코드가 상당히 지저분해집니다. 그러면 보수유지가 어려워지겠죠?^^
  • 2015.08.06 03:36 #1993
    아 단순히 코드가 늘어나서 그런 거군요 ㅎㅎ
    위에 제가 쓴 말 중에 잘못된 부분은 없는 거죠?;;
  • 2015.08.06 03:45 #1996

    네.. 속도엔 차이가 없을 것 같습니다.

    그러나 규모가 있는 프로젝트에서 코드가 늘어난다면 그 몇배로 보수유지가 힘들어집니다. 객체지향 프로그래밍이 각광받는 이유도 이때문이구요.

    예를 들어 쓰레기같은 방에서 내가 필요한 물건을 당장 찾기란 쉽지않습니다. 그러나 방안을 깔끔하게 정리해둔다면 당장이라도 필요한 물건은 쉽게 찾을 수 있을 것입니다. 바로 이같은 이치입니다.

  • 2015.08.06 03:49 #1999
    {@
    $mid = look_layout;
    $oModuleModel = getModel('module');
    $module_srl = $oModuleModel->getModuleSrlByMid($mid);
    $args = new stdClass();
    $args->module_srl = $module_srl;
    $args->document_srl = $obj->document_srl;
    $args->list_count = 10;
    $args->thumbnail_width = 180;
    $args->thumbnail_height = 180;
    $args->thumbnail_type = crop;
    // $thumbnail = $oComment->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
    // $content_item->setThumbnail($thumbnail);
    $thumbnail_path = sprintf('files/thumbnails/%s',getNumberingPath($args->document_srl, 3));
    $thumbnail_file = sprintf('%s%dx%d.%s.jpg', $thumbnail_path, $args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
    $thumbnail_url = Context::getRequestUri().$thumbnail_file;
    $list = executeQuery('document.getDocumentList',$args);
    // $oComment->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
    debugprint($this->document_srl);
    }
    <ul>
    <li loop="$list->data => $key, $val">
    {@
    $oDocument = new documentItem();$oDocument->setAttribute($val);
    $thumbnail_url = $oDocument->getThumbnail($args->thumbnail_width,$args->thumbnail_height,$args->thumbnail_type);
    }
    <a href="{$val->document_srl}" title="{$val->title}"><span class="thumb"><img src="{$thumbnail_url}" alt="" /></span><span class="subject">{$val->title}</span></a>
    </li>
    </ul>


    최종적으로 이렇게 하니깐 뜨네요. ㅎㅎ
    그런데 알려주신 li 태그 안쪽에 구문을 ul 위쪽에 붙이니깐 안되던데 혹시 이유가 뭘까요..
  • 2015.08.06 03:52 #2002
    루프안(li 태그)에 들어가야 변수를 받아서 동작합니다
  • 2015.08.06 04:01 #2005
    역시 어렵군요. ㅎ;; 알려주셔서 감사합니다.