얼마전 운영중인 1개의 사이트에서 모바일에서 약관 노출이 안되는 상태로 되어있어 회원가입이 모바일에서 진행되지 않고 있었다는 글을 적었습니다.

 

그때 모바일쪽의 스킨에서 로그인 회원 그리고 약관사용 조건문을 제거하고 약관이 노출되었다고 판단했습니다.

- 이때는 약관 설정 등록버튼 누르지 않고 노출 전환되었습니다.

 

그런데 오늘 다른 사이트에 여러 페이지에서 가입을 시도하는 것이 목격되어(구글 아날리틱스) 혹시나 해서 회원가입을 진행해보니 이 사이트에서도 약관이 안보이는 상태로 전환이 되어있었습니다.

 

이 사이트 마지막 회원 가입은 12월 8일 입니다. 

 

약관 부분 등록버튼 한번 다시 눌러주고 다시 약관이 보이는 상태로 전환 되었습니다.

 

약관 노출 부분이 뭔가 어느 시점에 문제가 생기는 듯 하네요. 

물론 2.0에서도 이런 증상이 있는지는 모르겠고요. 1.9.9.9 상태를 좀 오래 유지해야 하는 곳들 확인이 필요해 보이네요.

 

 

1.9.9.9 업데이트 한지는 오래 되었고 그 후 회원모듈 관련 패치를 했는지 기억에는 없는데 왜 이런 상태로 전환되었는지 알 길이 없네요.

웹지기

profile
10년을 다루다 보니 이제 간단한 것도 만들고 커뮤니티 운영에 관한 다양한 노하우가 있습니다. 어려운 점이나 가지신 생각을 함께 소통해 보아요.
https://rxtip.kr/ 라이믹스 꿀팁
  • profile
    저도 동일한 문제로 골치 아팠는데요ㅠㅠ
    결론만 말씀드리면 스킨단 문제입니다.

    XE에서는 $멤버머시기->agreement 로 구현되어 있는데,
    라이믹스에서는 $멤버머시기->agreements 안에 배열로 들어가 있습니다.

    기존의 agreement로 출력되는 부분을 agreements 루프 돌리게 수정해 주세요.
    기본 스킨 보고 참고하셔서 수정하시면 빠를것 같습니다.
  • profile profile

    그부분은 문제되는 부분은 본문의 첫번째 사이트 케이스 였습니다.
    - 그런데 웃기는건 이 사이트도 처음에는 멀정하게 보였었는데 그때는 원인을 모르고 말씀 하신 부분 제거하고 노출되었습니다. 그리고 약관1,2,3 루프 돌려서 출력하는 부분 코드는 그대로 가져와서 문제 없었구요. 

    이 헤프닝은 이미 한번 글을 쓴 적이 있구요.

     

    이 헤프닝때도 약관 루프 돌려서 출력하는 것은 제가 잘 가져와서 차용해서 문제 없었고 이 부분 전체를 조건으로 감싸는 부분이 XE 시절 쓰던 조건이었던 것 이었구요.

     



    그런데 오늘 발견한 두번째 사이트는 XE에서 사용된 조건이 걸려있지 않은 스킨입니다.
    아무 이유없이 약관이 출력되지 않고 있는 상황이었구요.

    혹시 한번 약관설정에 가서 맨 하단의 전체 설정을 눌러주니 약관이 다시 나옵니다.

    뭔가 설정 상태를 사용 안하는 것으로 인식하는 상태로 전환되는 무언가가 있는 것 같은데 이런 상황이라면 수시로 확인해 봐야 하는 불안정한 상황이네요.

  • profile profile
    <li loop="$member_config->agreements => $i, $agreement" cond="$agreement->type !== 'disabled'">
    <h4 class="agreement_title">
    {$agreement->title}
    <block cond="$agreement->type === 'required'">({$lang->cmd_required})</block>
    <block cond="$agreement->type === 'optional'">({$lang->cmd_optional})</block>
    </h4>
    <div class="agreement_box scrollbar-macosx"><div class="inner">{$agreement->content}</div></div>
    <div class="agreement_check">
    <label class="i_check" for="accept_agreement_{$i}"><input type="checkbox" name="accept_agreement[{$i}]" value="Y" id="accept_agreement_{$i}" /><span><span>✓</span></span> {$lang->about_accept_agreement}</label>
    </div>
    </li>


    원래부터 라이믹스 약관 사용하도록 코드가 짜여 있는 스킨이고 별도로 또 한번 조건을 걸거나 하지 않은 스킨입니다.
  • profile profile

    어라.......?????????

    다시 살펴보니 여기도 조건이 걸려 있었네요 털썩..
    여긴 라이믹스와 XE 분기 처리 되어 있어서 없는 줄 알았더니

    cond="$member_config->agreement"

    위쪽 엘리먼트에 있었네요 털썩...

    이번도 말씀 하신 같은 케이스 인가 봅니다. 이 조건을 또 제거해야겠네요.

  • profile

    저도 기억하기로는 1.9.9.7 때부터 동일한 증상이 있었어요.
    약관이 어느 순간 세션 풀리듯이 사라져서 회원가입이 안 되는;;;
    그랬다가 약관 설정으로 재처리하면 살아나고요.

    comely_board의 패키지로 나오는 comely_member 스킨에서 그랬는데, 다른 스킨에서는 어떤지 모르겠네요.

  • profile profile

    2개의 사이트가 스킨이 달라요. 한군데는 말씀 하신 스킨이고 다른 한곳은 모바일 전용 스킨입니다.

     

    이전에 XE에서 쓰던 조건문이 감싸서 그랬나 했던 추측이 틀린거 같고 이게 뭔가의 이유로 약관사용부분이 사용안하는 것으로 체크되는 현상이 있는 거 같네요. 

     

    이거 회원가입 페이지를 수시로 확인해 봐야 하는건지 아니면 회원 약관 설정 버튼 한번 눌러주고 나면 그다음 부터는 증상이 없어지는건지 걱정이네요.

     

    두군데 공통점은 약관 1,2 를 쓰고 있지만... 이건 뭐 원인이 되지는...

  • profile profile

    제 경험으로는 버튼 눌러주고도 시간이 한참 지나고 나니까 또 약관 출력이 안 되더라구요ㅡㅜ

    아, 그리고 약관을 하나만 사용하는데도 그러더군요.

  • profile profile

    약관 필수를 빼야 하나 심각한 고민중입니다.

    - 제가 둘러보니 이 이유 때문인지 약관 동의 과정 없는 곳이 몇군데 있더라구요.

    - 오늘 두군데 정도 테스트로 가입해서 죄송합니다.

  • profile profile

    웹스텍님이 짚어 주신 문제가 원인인 듯 합니다.

    https://xetown.com/topics/1497946#comment_1497993

     

    원인이 있는 문제라 해결된거 같아 다행입니다.

  • profile
    기지곰님께 질문 주셨는데 등록 하니 댓글이 사라졌네요.

    회원가입에 개입하는 자료는 없습니다. 지금 공통적인 문제는 웹스텍님도 경험으로 그렇게 처리하셨고 저도 2개의 사이트가 다 같은 조건이 걸려 있었습니다. cond 이 쓰인게 갑자기 안되는 현상이 날 수도 있다고 보여지네요.

    cond="$member_config->agreement"

    이게 조건을 걸리면 문제가 생기는 듯 합니다.
  • profile

    기존 방식으로 만들어진 스킨을 배려하기 위해 agreements 배열 중에서 첫 번째 것의 내용을 agreement에 중복으로 넣어주고 있는데요, 어떤 과정을 거치다 보면 이렇게 중복 저장한 것이 사라지는 모양입니다. 약관 설정을 다시 저장하면 다시 중복으로 넣어주니까 정상으로 돌아올 테고요.

     

    회원 모듈 자체의 문제일 수도 있고, 회원 모듈의 기능을 건드리는 서드파티 자료 때문일 수도 있습니다. 물론 스킨에서 agreement (XE 방식) 아니면 agreements (라이믹스 방식)을 한 번에 하나씩만 참조해야 하는데, 한 조건 안에 다른 조건이 들어 있었다면 그것도 원인이라고 할 수 있겠습니다.

  • profile profile
    위 댓글에 적었듯이 서드파티 자료는 사용하지 않는 곳이에요~~
  • profile profile

    XE의 조건문 agreement 이 가장 바깥에 추가로 걸려서 그런게 거의 확실한 거 같습니다.
    사이트1은 그 조건을 제거하고, 사이트2는 약관설정을 누르고 해결된거 보니 말입니다.

     

    @윤삼님 사이트 계속 되는건 아마도 원인이 제거가 안되서 그런거 같구요.

  • profile profile
    $member_config->agreement가 사라지는 현상이라니...
    저는 일단 $member_config->agreement와 내용이 같은 것으로
    cond="$member_config->agreements[1]" 이렇게 조건을 바꿔봤습니다. (키값이 1부터 시작하네요)

    아, 그렇게 하려했는데 어떤 상황에서 $member_config->agreement 가 사라지는지 알아보기는 해야겠네요.
    요즘은 회원가입을 안 받고 있으니ㅋ 일단 그대로 존치했다가 약관 실종 원인을 찾아봐야겠습니다ㅎㅎ
  • profile profile
    넵 ㅋ 저희는 그냥 조건 필요 없을 것 같아 날렸습니다.
  • profile
    저도 이전에 이퀴어 레이아웃 스킨을 사용했었는데 약관이 갑자기 노출 안되고 그런적이 있었네요.
    지금은 매일 매일 약관설정에서 저장을 한번씩 눌러주고 있습니다.
  • profile profile

    signup_form.html 에서 약관 부분에 $member_config->agreement 조건 걸린거 지워보세요. 그거 지우면 괜찮을 것 같습니다.

     

    지금 바꾼 스킨에도 조건 걸려있습니다. 저희랑 같은 스킨

  • profile profile
    <div class="agreement" cond="$member_config->agreement"><div>
    <!--@if($_is_rx)-->
    <ul>
    <li loop="$member_config->agreements => $i, $agreement" cond="$agreement->type !== 'disabled'">
    <h4 class="agreement_title">
    {$agreement->title}
    <block cond="$agreement->type === 'required'">({$lang->cmd_required})</block>
    <block cond="$agreement->type === 'optional'">({$lang->cmd_optional})</block>
    </h4>
    <div class="agreement_box scrollbar-macosx"><div class="inner">{$agreement->content}</div></div>
    <div class="agreement_check">
    <label class="i_check" for="accept_agreement_{$i}"><input type="checkbox" name="accept_agreement[{$i}]" value="Y" id="accept_agreement_{$i}" /><span><span>✓</span></span> {$lang->about_accept_agreement}</label>
    </div>
    </li>
    </ul>
    <!--@else-->
    <div class="agreement_box scrollbar-macosx"><div class="inner">{$member_config->agreement}</div></div>
    <div class="agreement_check">
    <label class="i_check" for="accept_agree"><input type="checkbox" name="accept_agreement" value="Y" id="accept_agree" /><span><span>✓</span></span> {$lang->about_accept_agreement}</label>
    </div>
    <!--@end-->
    </div></div>

     

    <!--@if($_is_rx)--> 조건 걸린걸 모두 지우면 될까요?

  • profile profile
    아니요...

    맨 윗줄
    <div class="agreement" cond="$member_config->agreement"><div>

    여기서 cond="$member_config->agreement" 만 지우세요.

    <div class="agreement"><div>
  • profile profile
    삭제 했습니다.
    당분간 회원가입이 잘되는지 확인 해보겠습니다.

    감사합니다^^