2년만의 업데이트입니다.

https://xetown.com/1006439

 

0.4.0으로 넘어가면서 확장변수 검색 속도를 높이기 위해 checkbox 유형의 확장변수를 like가 아니라 equal로 검색하게 했었는데,

이게 다중선택 변수였다는 걸 깜빡한 채로 방치하다가 2년이 흘렀습니다ㅠ

그동안 체크박스가 포함된 다중검색이 안 됐을 텐데 다행히 @dreamlizer님이 관련 팁을 제공해주셨던 바 있었습니다.

 

비록 대형 데이터에는 적합하지 않은 자료이지만 그래도 그동안 250여분이나 다운로드하셨더군요 ㄳㄳ

이번에 기존 자료들을 보수하는 참에 다중검색 애드온도 같이 손을 좀 봤는데, 더욱 분발해야 하겠습니다.

윤삼

profile
아무래도 중급 초반 수준의 코딩 오타쿠인 것 같습니다.
  • ?
    밤늦게까지 예전 자료까지 업뎃해주시고 수고가 많으십니다 ㅜㅜ
  • profile

    3d53db505f77f3a153d4f557f021a7aa.png

    스크린샷 2021-04-04 14.54.09.png.jpg

    좋은  자료 감사 합니다. 애드온도 설치 했고 설정도 마친것 같은데 보드스킨에서 사용법을 잘 모르겠네요. 혹시 샘플처럼 출력 되게 하려면 어디를 수정해야 할까요? 스케치북5 게시판이고  페이지 주소입니다. https://feedzone.club/register

  • profile profile

    검색창 삽입 위치를 누락하셨는데요.
    게시판 스킨에서 class 속성을 골라 기입해보세요.

     

    참고로 데모 페이지에선 이렇게 되어 있습니다.

    0.png.jpg

  • profile profile

    스크린샷 2021-04-04 16.35.30.png

    스크린샷 2021-04-04 16.32.52.png

    제가 뭔가 잘 이해를 못한것 같습니다.

  • profile profile

    html 소스를 보면 class 라는 속성이 있잖아요?

    그 class 속성이 들어간 요소의 위에 넣거나 아래에 넣는 방법이 있는 겁니다.

     

    혹시 그래도 잘 모르시겠다면

    검색창을 어느 위치에 넣으시려 하시는지 알려주세요.

    제가 개발자도구로 살펴본 후 위치 잡아드리겠습니다.

  • profile profile

    스크린샷 2021-04-04 16.37.46.png

    여기 상단에 넣고 싶은데 지금 헤메다가 알림창에 뜨는거 보니 곧 해결이 될것 같습니다.

     

    스크린샷 2021-04-04 16.37.22.png

  • profile profile
    검색창 삽입 위치 : bd_lst
    검색창 삽입 지점 : 위에 삽입
    으로 해보세요~
  • profile profile

    스크린샷 2021-04-04 16.44.51.png

    꼭 필요한 기능이였는데 정말 감사 합니다.!!

  • profile profile
    네, 다행입니다 ^^/
  • profile profile

    스크린샷 2021-04-04 17.05.03.png

     

    번거롭게 해드려서 죄송 하지만 한가지만 더 질문 드리겠습니다. 레인지 검색에 관한 내용인데 확장함수중 가격부분을 함수이름 Brand04 로 된 상태에서 아래처럼 세팅 했는데 입력창이 저렇게 되네요. 혹시 제 포멧에서 확장검색을 통해 입력된 가격들을 레인지로 예를 들면  100-200만원 사이 입력된 가격이 있다면 이를 레인지로  검색이 가능할까요?

    스크린샷 2021-04-04 17.00.55.png

  • profile profile
    범위 검색 사용을 '적용함'으로,
    밤위 검색 변수에 Brand04를 입력해보세요~
  • profile profile

    스크린샷 2021-04-04 17.39.59.png.jpg

    그렇게도 해봤는데 이러면 게시글 섬네일이 모두 먹통이 되는 현상만 나오더라구요;;

    https://feedzone.club/register

  • profile profile
    어디선가 jQuery 충돌이 일어나는 것 같은데,
    혹시 해당 확장변수에 들어가는 데이터들 중에 숫자 범위 검색에 적합하지 않게 입력된 것이 있는 건 아닐까요?
  • profile profile
    네 일단 새로운 게시판을 하나 만들어서 테스트 해보고 결과를 알려 드리겠습니다. ^^
  • profile profile

    스크린샷 2021-04-04 18.11.51.png

     

    스크린샷 2021-04-04 18.12.01.png

     

    아마도 입력 함수에 문제가 있었던가 봅니다. ^^ 새로운 게시판에서 매우 잘 작동 됩니다!

    정말 정말 감사 드립니다. 

    한 가지 개선 사항 의견을 드리고 싶은데 검색 변수 조건 하나만 놓고 검색 값이 없을때 그대로 변수조건이 남아 있으면 좋을텐데

    아무것도 없는 창으로 가버려서 이 부분이 검색값이 없어도 검색조건 변수 창이 남았으면 좋겠다는 생각을 했습니다.

     

     

  • profile profile

    혹시 모르니

    먹통 현상을 방지하기 위해 js/data_range_search.js의 7행과 8행을 아래 코드로 대체해보시겠어요?


    var start_val = start_input.val().replace(/[^0-9]/g, ''),
    end_val = end_input.val().replace(/[^0-9]/g, '');

     

    아까 기존 게시판에서 테스트 부탁드려요

  • profile profile
    제가 이해력이 부족해서;;; 말씀을 파악하기 어려운데ㅜ
    다중 검색에 들어갈 확장변수가 하나밖에 없는 상황을 말씀하시는 건가요?
    만약 그런 거라면, 애드온 적용을 안 하는 게 좋지 않나요?
  • profile
    위 코드 적용해 보겠습니다. 일단 사용자들 데이터중에 제대로 적지 않은 부분들을 수정해 놓은 상태입니다.

    그리고 다중 검색 들어갈 확장변수가 한개 밖에 없는 상황이라기보다
    변수 검색이 되게 해놓고 변수값에 포함되는 검색값이 한개도 안나올때
    위에 변수검색창도 사라지고 아무것도 안보이는 현상을 이야기 드린것입니다.
    제 두번째 스샷 이미지처럼요.
    테스트 게시판 링크 남겨 보겠습니다.
    https://feedzone.club/board_JoiA85
  • profile
    곰곰히 생각해보니 아마 확장검색창 위치의 문제인것 같네요. 보드 게시판 상단에 넣었는데 게시물이 없으니 확장검색 출력할 자리를 찾지 못하는 것이겠군요. 이 부분은 제가 위치를 따로 잘 잡도록 하겠습니다.
  • profile profile
    오, 진짜 검색결과가 없으니 검색창이 사라지네요?

    이렇게 나와야 하는데 말이죠?
    https://dev.aporia.blog/?act=&vid=&mid=dev&category=&search_target=title_content&search_keyword=&extra_vars1=&extra_vars7=1610&extra_vars7-2=1670&extra_vars9=&extra_vars9-2=

    해결할 수 있을지는 모르겠지만 한번 연구해보겠습니다.
  • profile profile
    아!! 그럴 수도 있겠네요!!
  • profile profile
    아닙니다. 원래 게시판에 적용해보니 여기서는 확장변수가 1개 이상이라 그런지 검색 값이 없어도 그대로 남아있습니다. ^^
    저렇게 쓸일이 거의 없겠지만 일단 알고 계시면 좋을것 같습니다. 너무너무 좋아요 확장검색 애드온 대만족입니다.
  • profile profile
    네, 알겠습니다.
    무료 자료인지라 게시글이 많아질수록 느려질 수밖에 없으니 그 점은 꼭 염두에 두세요~!
  • profile profile
    말씀하신 코드 교체하니 잘못된 방식의 입력값이 들어가도 섬네일이 제대로 출력 됩니다. 전부터 해결하지 못한 부분이긴 한데 확장변수에 숫자 방식이 없는게 너무 아쉽더라구요. 세 자리마다 ,가 들어가면 보기 좋을텐데 말이에요. 그리고 확장검색도 이 영향인지 숫자는 검색 대상에 되지만 , 나 . 이 들어가면 검색이 안되네요. ,는 금액에 . 은 kg 무게 검색에 활용하고 싶은데 이런 부분을 검색에서 반영하는게 좀 어려울까요? 그러니까 수동으로 5,000 입력 하거나 5.5 이렇게 검색해도 검색이 가능하게 되는 방식이 어려운것인지 아니면 직접 제가 코드를 수정해서 검색이 될수 있는 부분인지 궁금 합니다.
  • profile profile
    네, 아무래도 범용 애드온이다보니 그 이상의 커스터마이징은 직접 해결하시는 게 좋을 겁니다.
    js에서 값을 출력하는 방식, php에 값을 전달하는 방식 등등을 신경을 써주셔야 할 거구요.
    만약 직접 해결이 어렵다면, 역시 의뢰가 답이겠네요.
  • profile profile

    모든 질문이 끝났다고 생각 했는데 사용하다 보니 추가로 문의 사항이 생겨버렸습니다. 현재 레인지 방식 검색 조건에 혹시 맥시멈 1000이 한계치로 고정 되어 있나요? 입력 값이 너무 넓게 되어서 그런건가 해서 1000과 비슷하게 해놓고 최소 검색 수치도 다양하게 조절해봤지만 1000이상이 입력 되면 조절바가 고정이 되어 버립니다. 혹시 이 부분을 1000이상으로 조정 하고 싶어서 파일 몇개를 열어봤지만 제 실력으로는 어딜 손대야 할지 막막하네요. 혹시 코드 조정을 통해 수치를 더 높게 조정이 가능할까요? 테스트 게시판 현재 상황입니다. https://feedzone.club/board_JoiA85

     

    그리고 역시 소소한 내용이지만 변수함수 입력할때 추가로 설명 되는 부분이 상세 검색창에도 그대로 반영 되어서 검색 하는데 

    혼돈을 줄 수 있을 것 같습니다.  혹시 이 부분이 출력에는 안나오게 하려면 파일 어디 부분을 건드려야 할까요.

    스크린샷 2021-04-05 10.02.54.png

     

     

  • profile profile

    0.png

    저는 이렇게 잘 되고 있습니다ㅜ

     

    현재 입력된 변수값들과 '범위 검색 단위' 설정이 서로 어울리지 않아서 그럴 수도 있을 것 같은데요.

    범위 검색 단위를 조절해보셨나요?

     

    저도 딱히 해결방법은 잘 모르겠습니다.

    예전 기억을 떠올려봐도, 범위 검색이라는 게 사용하시는 분들마다 사정이 제각각이어서 커스터마이징이 많이 필요했던 부분이었었어요.

    그래서 아예 기능 자체를 막아버릴까 생각도 했었죠ㅜㅜ

    어쨌든 범위 검색과 관련한 최대값, 최소값, 검색단위 등은 php를 직접 다루긴 힘드실테니, 그나마 js/data_range_search.js에 접근하는 게 상대적으로 용이할 수는 있겠네요.

     

    확장변수 설명문은 보통 $val->desc로 출력 제어가 가능한데요.

    (스킨파일에서 가능하다는 말씀입니다.)

    $extra_keys 로 진행되는 반복문 내외에서 특정 확장변수일 경우 $val->eid로 식별해서 $val->desc 출력을 막거나 할 수 있을 겁니다.

    코어에 처리되는 함수를 따르고 있기 때문에, php 반복문과 조건문을 다루실 수 있어야 할 거예요.

    (구글링이나 여기 타운에서 통합검색을 해보셔도 조금씩 답을 찾아가실 수 있으리라 기대해봅니다.)

  • profile profile
    감사 합니다. 말씀하신 내용을 찬찬히 둘러 보고 차근차근 해보겠습니다. 최종적으로는 이런 형태의 결과를 위젯으로 출력할 예정이라 작업 의뢰전에 기획을 좀 꼼꼼히 해보려고 다양하게 테스트 해보고 있습니다.
  • profile profile
    제가 알기로는 이 애드온과 유사한 기능을 제공하는 다중검색 위젯도 있으니 그것도 한번 알아보세요~
  • profile profile
    이유를 찾은것 같습니다. 폭이 좁더라도 앞자리 숫자가 바뀌면 슬라이드바가 고정 되는 것 같습니다. 예를 들면 각 100단위 1000단위 범위에서는 잘 되지만 900과 1100 처럼 앞자리가 바뀌는 입력값에서는 작동이 안되는것 같습니다.
  • profile profile
    최소값과 최대값의 자릿수 단위가 일치해야 한다는 말씀인 거죠?
  • profile profile
    아마 그런것 같습니다. 안되어서 모두 1000 이상으로 값을 올리니 슬라이드 바가 정상작동 되네요.
  • profile profile
    중요체크!!! 살펴보도록 하겠습니다~
  • profile profile
    queries/getMaxAndMinValueWithinExtraVars.xml 파일을 링크의 소스로 대체해보시겠어요?

    https://github.com/cydemo/xe-addon-ap_extra_search/blob/master/queries/getMaxAndMinValueWithinExtraVars.xml
  • profile profile
    위 파일 소스로 새롭게 만들었더니 이제 슬라이드바는 제대로 작동을 합니다.
    그런데 실제로 검색 값에 출력이 안되는 것일까요;

    https://feedzone.club/board_JoiA85
  • profile profile
    쿼리를 바꾼 게 다른 곳에 영향을 준 모양입니다.
    저녁 중에 한번 더 살펴볼게요~
  • profile profile
    언제나 감사 드립니다. ^^
  • profile profile
    여러 노력을 해봤는데 최종적으로 불가능하다는 결론에 도달했습니다ㅜ
    그동안의 과정은 이렇습니다.

    1. 데이터 범위 검색에서 검색 범위로 들어간 시작값과 마지막값의 숫자 자릿수가 다를 경우 슬라이드바가 먹통이 되는 현상 발견
    2. DB에서 문자열 데이터를 가져와서 숫자형으로 바꿔주고 이것을 스킨의 슬라이드바로 반영
    => 성공. 그렇지만 숫자 자릿수가 다를 경우에는 검색 시도시 결과가 나오지 않음
    (이제부터가 이후의 과정입니다)
    3. getDocumentListWithinExtraVars 쿼리에서는 php에서 입력된 시작값 이상이고, 마지막값 이하인 데이터를 가져오게 되어 있음을 확인
    4. 그러나 DB에 입력된 데이터는 문자열이기 때문에, 자릿수가 다를 경우 예컨대 930~1030일 경우 9로 시작하는 데이터를 오름차순으로, 1로 시작하는 데이터를 내림차순으로 쿼리를 이해함.
    => 따라서 아무값도 가져오지 못함
    5. 입력값을 맞추기 위해 시작값에 0을 붙여봤음. 즉 0930~1030으로 검색.
    6. 그러나 DB에서 930이라는 값을 가지는 데이터는 여전히 1030보다 높은 것으로 인식되기 때문에 검색 결과에서는 해당 데이터가 누락됨
    => 최종 실패

    그럼 답은 뭐냐... 코어에서 확장변수 입력 형식에 숫자형을 지원해주는 수밖에 없을 것 같습니다.
    그리고 DB에서 그 값을 받을 때는 number의 형식으로 받아야 할 것 같구요.
    (근데 그것도 쉽지는 않을 것 같습니다ㅜㅜ)

    꼼수를 쓴다고 썼는데도 쉽지가 않네요ㅜ
  • profile profile
    너무 고생 하셨습니다. 확장변수가 다양한 옵션을 지원하는데 일상적으로 흔히 쓰는 숫자가 없어서 좀 의아하더라구요. 알기 쉽게 설명해 주셔서 감사 합니다. 확장변수 숫자지원이 되는 날을 기다려 보겠습니다. ^^
  • ?
    안녕하세요~ 제 허접한 팁이 도움이 되었다니 영광입니다^^;

    좋은 애드온 너무 잘 사용하고 있습니다. 감사합니다.
    아래는 이 애드온이 사용된 사이트입니다. (+ 약간의 소스 수정)

    https://www.munggang.com/artworks

    좋은 애드온 감사합니다!
  • ? profile
    오, 스킨 멋집니다~ 이런 거 좋아요ㅠㅠㅠ
    pjax로 처리하신 거예요?
    암튼 팁 덕분에 수월하게 버그 수정할 수 있었습니다. 감사합니다~~
  • ?
    혹시 이 모듈도 슈퍼캐쉬의 적용을 받는지 여쭤봐도 될까요?
    게시판의 일반 검색은 슈퍼캐쉬가 작동되는것 같은데 이 모듈도 되는건지 궁금해서요.
  • ? profile
    아마 안 될 것 같습니다.
    따로 염두에 둔 적은 없었거든요.

    가뜩이나 발코딩인 데다ㅜ
    검색대상과 검색어별로, 그리고 교차 검색 수준 등에 따라 캐시 적용을 하는 게 살짝 엄두가 안 나기도 하구요.
  • profile ?
    네 감사합니다.
  • profile
    윤삼님 애드온 관련 질문은 아니지만 혹시 확장변수에서 특정일이 아닌 기간 설정 확장 변수로 설정하는 방법이 있을까요?
  • profile profile
    코어에서 지원을 하지 않는 변수 형식이기 때문에 별도로 개발을 해야 할 겁니다. 다음의 두 가지 방법이 떠오릅니다.

    1) 확장변수 2개를 활용
    - 글쓰기 화면에서는 기간을 입력하되 글 등록시에는 시작일과 종료일 등 두 개의 확장변수로 나눠서 입력되도록 함
    - 글읽기 화면에서는 시작일과 종료일 변수를 가져와 하나의 기간인 것처럼 출력하도록 함

    2) 하나의 확장변수를 활용
    - 글쓰기 화면에서 스크립트를 활용하여 기간을 입력하도록 하고 이 값을 반드시 특정한 형식으로만 등록하도록 함. 예) 20220225|@|20220325
    - 글읽기 화면에서는 위의 변수를 가져와 |@|를 기준으로 두 개의 요소에 나눠서 출력하도록 함

    아마 이런 식으로 접근하셔야 할 겁니다.
    다만 대개는 검색 등의 목적이 있기 때문에 시작일과 종료일 이렇게 두 가지 변수로 나눠서 활용들을 하는 것으로 알고 있어요.
  • profile profile
    아 간단한 내용은 아니였군요. 위에 윤삼님 샘플 이미지에 기간이 있어서 간단한 변후가 있는 줄 알았습니다. 답변 감사 합니다. ^^