XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.
조회 수 47 댓글 4

지난번 ownDocument쪽 함수는 보고 있는데, 조금 모호한 부분이 있어 질문드립니다.

 

원래 개발하려는 목표는 layout에서 mid=mid_name&member_srl=999 라는 주소를 받으면,

mid_name이라는 모듈의 레이아웃에서

 

$oMemberModel = getModel("member");
 $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);

 

라는걸 넣어주고

 

{$member_info->nick_name}

이렇게 닉네임을 출력하게 되었습니다.

 

 

하지만 모듈에서는 이런 방식이 통하지 않는것인지.. 아니면 제가 다르게 접근하고 있는건지 모르겠습니다.

 

$logged_info 말고, 현재 member_srl에 대해서만 가져오는 방법이 있을까요?

 

 

이해할만 하면 아직도 모르겠고 산넘어 산이네요..

  • profile
    윤삼 2017.05.30 22:10:23
    특정 멤버가 작성한 문서의 목록을 가져오시려는 거 맞죠? 그러면,

    http(s)://도메인/index.php?mid=mid_name&search_target=nick_name&search_keyword=닉네임

    으로 하시면 되지 않나요?
    링크를 넘겨주는 거라면

    {@
    $oMemberModel = getModel("member");
    $member_info = $oMemberModel->getMemberInfoByMemberSrl($member_srl);
    }
    {getUrl('','mid','mid_name','nick_name',$member_info->nick_name)}

    으로 하면 될 거 같구요.

    음, 이렇게 하면 member_srl 받아오는 순서가 꼬일 거 같긴 한데...
    암튼 의도하신 게 이런 게 아니라면, ($member_srl을 받아왔다는 전제 하에) xml쿼리를 새로 만들거나, 직접 db쿼리를 날려야 할 것 같습니다.
    document 모듈을 살펴봤는데 mid와 member_srl로 문서 목록을 가져오는 xml쿼리는 없는 거 같더군요.

    {@
    $oDB = &DB::getInstance();
    $query = $oDB->_query('select * from xe_documents where module_srl ='.$module_info->module_srl.' and member_srl = '.$member_srl);
    $result = $oDB->_fetch($query);
    }

    대략 이렇게 하면 되지 않을까요?
  • profile
    ルイスP 2017.05.31 08:41:38
    정말 친절하신 답변 감사드립니다.

    현재 개발하고 있는 내용은 [위젯 혹은 member모듈에서 특정 게시판에서 작성한 내용은 모두에게 보여줌] 입니다.
    조금 쉽게 표현하는것은 유튜브의 개인 채널과 같은 느낌일거 같습니다.

    http://xedomain/index.php?mid=channel_layout&act=dispMemberOwnDocument&member_srl=999
    와 같이 원래는 OwnDocument의 경우 본인의 게시글만을 출력하는게 원칙이고, 로그인 하지 않으면 안보여주는것이 기본설정이자 기본 파일의 내용입니다.

    하지만, 지금의 수정으로 로그인 하지 않고 해당 페이지를 보여줄 수 있게 하였지만, member_srl을 넘겨도 로그인 한 유저의 게시글만 보여주더군요. ㅠ_ㅠ

    member_srl이 없을땐 본인 게시글을 보여주고, member_srl을 위처럼 넘겨 받을때 해당 멤버의 페이지를 보여주고 싶은데, 아직까지 전혀 이해가 안되어 모르겠더군요


    단순히 layout에서 member_srl값을 넘기면 닉네임 출력하고 서명출력하는 등등은 할 수 있지만, 멤버 모듈을 수정하려니 너무 막막합니다...ㅠㅠ

    아니면 아예 위젯을 만들까 생각중인데 어떠한 방법이 나을까요?

    개인적으로는 처음 말씀드린 방법이 나아보이는데..
  • profile
    윤삼 2017.05.31 09:50:29

    dispMemberOwnDocument 함수에서 document_list.html 파일로 넘기는 과정에서 $member_srl이 $logged_info->member_srl로 설정되어 있어서 그런 게 아닐까요?

    $member_srl = $logged_info->member_srl;
    이라는 부분이 있던데요.
    얘 주변에 조건문을 걸어두면 되지 않을까요?

    가령, Context::get('member_srl')로 조건을 걸어서,
    있으면 $member_srl = Context::get('member_srl');
    없으면 $member_srl = $logged_info->member_srl;

    이렇게 하면 안 되려나요... 저도 잘 몰라요. 후다닥~

  • profile
    ルイスP 2017.05.31 10:16:34
    모르는척 도망가시는 윤삼님 정말 감사드려요
    이미 이정도여도 꽤 도움이 되었습니다 ^-^

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