Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

SocialLogin 모듈에서 로그인 버튼은 어떻게 만드는가요?

 

우선, SocialXE사용하다가 라이믹스로 업데이트 하고 난 뒤에

Flextagram 레이아웃을 이용하는데 여기서 로그인 버튼이 socialXE기준으로 되어있어서 이를 SocialLogin모듈로 변경하려고 하는데

아무리 검색해도 안나오네요..

 

아래는 기존 로그인 버튼 태그 입니다.

<!--// 소셜XE 로그인  -->
<!-- prettier-ignore -->
<div cond="$layoutConfig['social_login']=='Y' && $oSocialxeModel && is_callable([$oSocialxeModel, 'snsAuthUrl'])" class="app-sociapp-login-group">
    <!-- prettier-ignore -->
    <a class="app-sociapp-google" href="{$oSocialxeModel->snsAuthUrl('google', 'login')}" cond="in_array('google',$layoutConfig['social_login_service'])">
        <img src="../../../assets/images/ic_brand_google.svg" alt="ic_brand_google.svg" width="14" height="14">
    </a>
    <!-- prettier-ignore -->
    <a class="app-sociapp-facebook" href="{$oSocialxeModel->snsAuthUrl('facebook', 'login')}" cond="in_array('facebook',$layoutConfig['social_login_service'])">
        <ion-icon name="logo-facebook"></ion-icon>
    </a>
    <!-- prettier-ignore -->
    <a class="app-sociapp-kakao" href="{$oSocialxeModel->snsAuthUrl('kakao', 'login')}" cond="in_array('kakao',$layoutConfig['social_login_service'])">
        <img src="../../../assets/images/ic_brand_kakao.svg" alt="ic_brand_kakao.svg" width="14" height="14">
    </a>
    <!-- prettier-ignore -->
    <a class="app-sociapp-naver" href="{$oSocialxeModel->snsAuthUrl('naver', 'login')}" cond="in_array('naver',$layoutConfig['social_login_service'])">
        <img src="../../../assets/images/ic_brand_naver.svg" alt="ic_brand_naver.svg" width="14" height="14">
    </a>
    <!-- prettier-ignore -->
    <a class="app-sociapp-twitter" href="{$oSocialxeModel->snsAuthUrl('twitter', 'login')}" cond="in_array('twitter',$layoutConfig['social_login_service'])">
        <ion-icon name="logo-twitter"></ion-icon>
    </a>
</div>
위에서 snsAuthUrl을 getAuthUrl로 변경하였으며

    // 소셜 로그인 모델 가져오기
    if ($layoutConfig['social_login'] == 'Y'):
        $oSocialxeModel = getModel('sociallogin');
        if (!$layoutConfig['social_login_service']):
            $layoutConfig['social_login_service'] = array();
        endif;
    endif;

이 부분에서 socialXE를 sociallogin으로 변경한 상태 입니다.

또 어디를 건드려야 하는지 잘 모르겠습니다..

어떻게 해야 SocialXE가 아닌 Sociallogin 모듈로 로그인 할 수 있도록 할 수 있을까요?

고수님들의 답변 기다리겠습니다!! 감사합니다!!

  • profile
    추가로 태그의 div 조건에 $oSocialxeModel && is_callable([$oSocialxeModel, 'snsAuthUrl'])를 제거하면
    public static function getAuthUrl($service, $type)
    {
    return getUrl('', 'mid', \Context::get('mid'), 'act', 'dispSocialloginConnectSns', 'service', $service, 'type', $type, 'redirect', $_SERVER['QUERY_STRING']);
    }
    함수의 return 값이 null이라고 발생합니다!
  • profile

    https://github.com/bjrambo/rx_xedition_social/commit/6fee50b419eff125c73af071b7b558da1e8347e0

    해당 링크 참고해서.. 위 알려주신 코드 싹 삭제하시고 이걸로 추가 하시면 되요.

     

    소셜로그인은 그렇게 복잡하게 버튼 추가 하는 액션을 만들지 않더라도 알아서 색상 맞춰서 호출할 수 있도록 개선 되어있습니다.

  • profile profile

    답변 감사합니다. 위 링크에 설명된 것 처럼 하니 해결 되었습니다!! 감사합니다!!