작업하기작업기

회원 검색 위젯을 만들고 있습니다.

회원 소개 위젯은 지난번에 올렸었고, 회원 목록 위젯은 슬슬 마무리 단계,

그리고 회원 검색 위젯으로 세 번째 위젯이 되겠네요ㅋ

 

검색어를 입력하면 자모음 분리를 통해 아래 그림처럼 프로필 이미지와 함께 회원들 목록이 뜹니다.

0.png

마우스 클릭이나 화살표 이동 후 엔터키를 입력하면 해당 회원의 회원정보 페이지로 이동하게 되죠ㅋ

(물론 로그인한 회원만 회원정보 페이지를 볼 수 있겠죠?)

커스터마이징을 하면 다른 페이지로도 이동이 가능하겠구요.

 

미리보기 : https://bit.ly/2LsF4SP ... 다만 비로그인 이용자는 회원정보 페이지 접근 권한이 없으니 목록 출력만 확인해보실 수 있을 겁니다.

 

p.s. 가급적이면 현재 로그인한 회원이 팔로우하고 있는 회원, 현재 로그인한 회원을 팔로우하는 팔로워 회원, 그리고 검색어와 유사한 닉네임을 가진 회원순으로 정렬을 해보고 싶은데, 그러면 겁나 느려질 것 같네요ㅜ 가뜩이나 회원 많은 사이트에선 버버거릴 것 같은데 말이죠ㅎㅎ

글쓴이 윤삼

profile
아픈 몸이
아프지 않을 때까지 가자
Atachment
첨부 1
  • profile
    달콤한인생 2018.07.27 04:13:14
    역시.. 뭣이 중헌지 아시는분!
  • profile
    팀워크 2018.07.27 06:06:37
    와우..
  • profile
    skyo 2018.07.27 09:30:27
    갓윤삼님
    1. 이동시 회원 정보좋지만, 썸씽 모듈로도 이동 해주시는 옵션도 부탁해요^^
    2. 글 하단의 댓글 창에 붙여서 사용한다고 생각하면.. 이 글에 댓글 단 사람이 검색이 되게 해도 좋을 것 같아요. 보토 우클릭해서 회원 정보 보니까..

    아..물론 제안일뿐입니다.
  • 윤삼 글쓴이 2018.07.27 14:17:24
    https://xe-something.com/board_support/189
    다행히 여기에 도움말이 있네요?. 세심한 기술지원!!

    모듈 config를 통해 mid 값을 자동으로 받아오면 더 좋을 것 같은데, 혹시 mid값 확인 관련해서 도움이 필요하게 되면 부탁드려도 되겠죵?
  • skyo 2018.07.27 15:15:40
    @윤삼
    네~ 근데 제가 잘 모를수있어요~ ^^
  • 윤삼 글쓴이 2018.07.28 03:42:28 Files첨부 (1)
    @skyo

    요게 베타버전인데요. ap_member_search.0.1.0.zip

    썸씽 모듈에 대한 페이지 이동 옵션을 둬봤어요.

    테스트 부탁 드려봅니다.

     

    혹시나 검색 반응이 너무 느리거나 해도 말씀 좀 부탁 드릴게요.

    너무 느리다 싶으면 자모음 분리 검색 등 장식적 요소들을 제거해버리려구요.

  • 달콤한인생 2018.07.28 05:30:35
    @윤삼
    저 지금 해보고 있는데, 느린건 모르겠으나, 메인에 놓으면 어떨지는 모르겠습니다. 그래서 메인에 걸어보려고 해요ㅋㅋ
  • 달콤한인생 2018.07.28 05:47:56
    @달콤한인생
    https://aubade.co.kr/main pc 우측 사이드바 상단에 놨어요.
  • 달콤한인생 2018.07.28 05:34:23
    @윤삼
    https://aubade.co.kr/index.php?mid=search
  • 윤삼 글쓴이 2018.07.28 06:34:20
    @달콤한인생
    오오 페이지 이동도 잘 되나요?
  • 달콤한인생 2018.07.28 06:42:19
    @윤삼
    네. 아주 잘됩니다ㅋ
  • 윤삼 글쓴이 2018.07.28 06:58:31
    @달콤한인생
    혹시 개선사항 있거나 하면 언제든 말씀해주세요~
  • 달콤한인생 2018.07.28 07:23:11
    @윤삼
    저는 지금 없네요ㅋ 아주 좋아요!
  • @윤삼

    버그 : 엔터를 쳐버리는 경우 이런 에러가 납니다.
     

    스크린샷 2018-07-28 오전 11.23.40.png

     

    제안

    속도가 느려지는지는 아직 모르겠습니다만, 옵션으로

    그냥 autocomplete 만

    자모음 분리까지

    둘다 없이 최종 검색어만

     

    이렇게 별도로 불러와서 속도 문제를 해결 했으면 합니다.^^

     

    ps. 이거 농담아니고 썸씽 모듈의 화룡점정이 될듯 합니다. 

  • 윤삼 글쓴이 2018.07.28 11:49:43
    @skyo
    대소문자 구분 때문에 에러가 난 거겠죠? 제보 감사합니다~

    썸씽 모듈은 smember 없이 mid값만 있을 때 회원 현황을 보여주는 메인 페이지가 있으면 좋을 거 같고, 기본 제공되는 것 외에 스킨이 좀 더 개발되면 날개를 달 거 같더라구요.
    그리고 회원 검색으로 화룡점정ㅋㅋ

    속도 관련 옵션도 염두에 두겠습니다~
  • skyo 2018.07.28 11:58:57
    @윤삼

    아참.. 검색후 이동시 새창으로 열기 옵션을 꼭 좀 부탁합니다. 현재 보고 있는 페이지가 사라지지 않았으면 좋겠거든요.

     

    그리고 저기 검색 박스 높이를 좀 올리고 싶은데 잘 안되더군요. 혹시 어디 고정이 되어 있나요? ^^;

  • skyo 2018.07.28 13:08:17
    @윤삼
    추가로 ^^;
    검색에 불러와지는 그룹을 좀 지정이 되면 좋겠습니다. 실제로 신규회원들인 경우 글을 쓴게 없어서
    거의 무의미하고 다른 회원이 먼저 로딩되는데 우선순위에 영향만 주고... 뭐 그렇습니다^^
  • skyo 2018.07.28 13:23:44
    @윤삼
    그나저나... 속도가 걱정이 된다면..
    https://www.xpressengine.com/index.php?mid=download&package_id=20832931
    https://www.xpressengine.com/index.php?mid=download&package_id=20832909

    이 모듈의 스킨을 지금 윤삼님 것 처럼 동작하게 만드는것도 조심히 추천 드려 봅니다.
  • 윤삼 글쓴이 2018.07.28 20:22:21
    @skyo
    넵, 모두 반영해야 할 코멘트들이네요. 꼭 반영하도록 할게요.
    추천해주신 모듈과 위젯은 스킨의 문제인지 모듈이나 위젯의 문제인지 모르겠는데 잘 작동을 안 한다더라구요. 모듈을 까기 시작하면 제 실력에 감당이 안 될 것 같아서 그거는 보류할게요ㅜㅜ
  • profile
    웹지기 2018.07.28 12:19:23
    저희 팔로우랭킹 보여주는 페이지에 랭킹에 없는 회원을 직접 닉네임으로 찾아서 썸씽페이지로 방문해볼 수 있도록 넣어봐야겠습니다.
  • profile
    웹지기 2018.07.28 12:27:15
    저희 사이트에서는 이상증상이 발생하네요.
    프로필이미지 주소가
    도메인/widgets/ap_member_search/ap_member_search.phpfiles/member_extra_info/profile_image/482/125/125482.gif?20160720110920

    이런식으로 되어서 오류가 나구요. 클릭시 이동도 되지 않네요.
  • profile
    웹지기 2018.07.28 13:18:28

    다른 자료를 보고 조금 고쳐서 일단 이미지는 불러오게 했습니다.
    define('_XE_PATH_', str_replace('widgets/ap_member_search', '', str_replace('\\', '/', __DIR__)));
    require _XE_PATH_ . 'config/config.inc.php';



        for ($i = 0; $i < 3; $i++ )     {         $src = '';         $image_name_file = sprintf('../../files/member_extra_info/profile_image/%s%d.%s', getNumberingPath($val->member_srl), $val->member_srl, array('gif', 'jpg', 'png')[$i]);         if ( file_exists($image_name_file) )         {             $src = str_replace('_XE_PATH_ .', '', $image_name_file) . '?' . date('YmdHis', filemtime($image_name_file));             break;         }     }     $result[$idx]->img = $src ? $src :  _XE_PATH_ . 'widgets/ap_member_search/images/no_profile.png';     $idx++; }


    클릭시 이동은 안되고 있구요....
    더 고쳐야 할 곳이 있는 것 같습니다.

  • profile
    웹지기 2018.07.28 13:36:29
    검색 결과에 나오는 리스트도 간격이 없이 붙어 있는데요. 어딘가에 저희 사이트에서 문제가 되는 부분이 또 있는 것 같습니다.
  • profile
    웹지기 2018.07.28 16:17:12
    js 중에서

    // 자동완성 프로토타입 설정
    $.extend($.ui.autocomplete.prototype.options, {
    create: function () {
    // 검색어 하이라이트 및 html entity 디코딩
    $(this).data('ui-autocomplete')._renderItem = function(ul, item) {
    var value = item.value,
    range = Hangul.rangeSearch(value, this.term);
    if ( range.length )
    {
    var charFrom, charTo, values = [];
    for (var i = 0 ; i < range.length ; i ++)
    {
    charFrom = range[i][0];
    charTo = range[i][1] + 1;
    if (values.indexOf(value.substring(charFrom, charTo)) === -1 )
    {
    values.push(value.substring(charFrom, charTo));
    }
    }
    var re = new RegExp(values.join('|'), 'gi');
    return $('<li><div><img src="'+ item.img +'"><span>' +
    $('<div />').html(item.value).text().replace(re, '<span style="color: red;">$&</span>') +
    '</span></div></li>')
    .appendTo(ul);
    }
    };
    },


    이부분을 제거해 버리면 프로필이미지와 디자인은 제거가 되고 텍스트 형태로 리스트가 나타나지만
    정상동작을 합니다. 여기 어디에 뭔가가 답이 있을 것 같습니다.
  • 윤삼 글쓴이 2018.07.28 20:24:11
    아직 XE 호환성 테스트를 못했어요;;; 게다가 jQuery UI 버전마다 디자인 요소에 차이가 있기도 한 모양이더라구요. 말씀해주신 사항도 체크해보도록 할게요!
  • 웹지기 2018.07.30 15:44:03
    @윤삼
    jQuery UI 업데이트 후 정상동작해서 이제 사용이 가능한데요.
    그런데 마우스 오버시 배경색 적용과 마우스포인터가 변하지 않는 것이 아마도 관련부분 js가 XE에서는 정상동작하지 않는 듯 합니다.

    저희 레이아웃이 영향을 줄꺼라고 생각했는데 레이아웃 미사용으로 해도 마찬가지네요. 참고적으로 알려드립니다.
  • 윤삼 글쓴이 2018.07.30 15:48:09 Files첨부 (1)
    @웹지기

    어? 그럼 이건 따로 손을 보신 거예요?

    0.png

  • 웹지기 2018.07.30 15:49:06
    @윤삼
    엥 ??? 그럼 제 브라우저가 문젠가요. 크롬 최신버전이고.. 캐시가 남아서 그런것 일수도 있겠네요..

    다른 브라우저 혹은 캐시를 지우고 해봐야 겠습니다.
  • 웹지기 2018.07.30 15:54:52
    @윤삼
    브라우저 캐시 때문이었군요!!! 잘 됩니다!!!

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