RX / XERXE 활용팁XpressEngine
조회 수 163 추천 수 2 댓글 6
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 댓글로 가기 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 첨부
Extra Form

참조 : https://www.xetown.com/qna/574881

 

최근게시물 위젯에서 작성자 프로필 사진을 띄우는 방법입니다.

참조의 url은 게시글의 코멘트 작성자의 프로필 사진을 띄우는 방법입니다. 위 팁을 참조해서 수정해보았습니다.

 

프로필 이미지를 띄우고자 하는 곳에 다음 코드를 입력해주세요.

참고로 아래 코드는 기존에는 게시물의 첨부파일을 띄우는 코드였습니다.

[!--@if($item->getThumbnail())--]
    <img src="{$item->getThumbnail()}" style="width:{$widget_info->thumbnail_width}px;height:{$widget_info->thumbnail_height}px" />
[!--@else--]
    <span class="imgNone">{$lang->none_image}1</span>
[!--@end--]

위 코드 대신에 아래 내용을 입력해주었습니다.

{@
//프로필이미지
$oMemberModel = &getModel('member');
$member_info = $oMemberModel->getMemberInfoByMemberSrl($item->getMemberSrl());
$profile_image = $member_info->profile_image;
}
<!--@if($profile_image->src)-->
<img src="{$profile_image->src}" alt="{cut_str($comment->nick_name,$widget_info->nickname_cut_size,'...')}">
<!--@else-->
<img src="./img/profile.png" alt="{cut_str($comment->nick_name,$widget_info->nickname_cut_size,'...')}">
<!--@end-->

작성글의 멤버번호를 가져와서, 해당 멤버의 프로필이미지를 띄우는 코드입니다.

프로필 이미지가 있으면 프로필 이미지를 띄우고 없으면 기본 프로필 사진을 출력합니다.

profile.png

기본 프로필 사진은 위 이미지입니다.

 

글쓴이 이온디

profile
이온디 홈페이지제작상담
■ 웹사이트 : http://eond.com
■ 전화문의 : 0507-1433-0311
■ 전자우편 : eond@eond.com
■ 카톡상담 : http://kakao.eond.com
■ 오픈채팅 : https://open.kakao.com/o/giaKKnl
■ 전문분야 : XE, 워드프레스, 그누보드, 카페24 쇼핑몰, Shopify, 영카트, 우커머스, 누리고
Atachment
첨부 1
  • profile
    람보 2017.07.31 22:46:20
    그거보다 더 간단한 프로필전용 함수도있습니다.

    {@
    $oMemberModel = getModel('member');
    $profile_image = $oMemberModel->getProfileImage($item->getMemberSrl());
    }
  • profile
    이온디 2017.07.31 22:47:33
    감사합니다.
    이런건 있는지 어떻게 알아볼 수 있나요?;
  • profile
    람보 2017.07.31 22:51:24
    XE 에서 getModel 이라는건 ('') 갈호안에 있는 모듈의 model.php 파일을 찾는겁니다.

    즉, getModel('member') 라고 하면 member.model.php 파일이고, 이 파일의 클래스형태로 불러옵니다.(클래스라는 단어를 잘 몰르셔도됩니다.)

    클래스형태로 불러오게된다면 안에있는 function 으로 시작되는 모든 메서드를 사용할 수 있게 되고,
    function 으로 시작되는 메서드중에서 getProfileImage 가 있으니 그 함수의 작동방식을 확인해보시고 사용하기 좋다면 쓰면되는거에요.
    1
  • ?
    루딩 2017.08.01 00:38:19

    model을 불러오면 function을 새로 작성할 필요 없이 불러온 model에서 그냥 사용할 수 있다는 말씀인거죠?

     

    와우 쉽게 이해했어요:)

  • profile
    람보 2017.08.01 02:41:24

    네 modules폴더 안에 잇는 폴더 이름 + getModel함수 쓰시면되요.(자체함수입니다.)
    즉, getController('point') 하면 point 모듈에 있는 point.controller.php 이파일의 클래스를 가져오는것이죠. 이렇게 각각 클래스를 가져오는 함수로 getModule 함수가 쓰이고있어요

    이렇게 사용이 될 수 있어요
    $profile_image = getModule('member', 'model')->getProfileImage($item->getMemberSrl());

     

    더자세한건 https://github.com/xpressengine/xe-core/blob/master/config/func.inc.php#L79 이 아래의 코드와 아래 펑션들의 네이밍 함수들을 확인해보세요.

     

    1
  • profile
    YoungKookKim 2017.08.01 09:25:18
    감사합니다

서버에 요청 중입니다. 잠시만 기다려 주십시오...