우선 https://www.conory.com/index.php?mid=xe_product_manual&category=37787&document_srl=38597 이 게시글을 보면

 

로그인 페이지 직접 수정과, 로그인 버튼을 이용하는 방법이 있는데

 

로그인 위젯이나 로그인 팝업 등을 사용하는 경우, 별도의 로그인 페이지로 이동하는 것보다 해당 위젯에 직접 버튼을 추가하는 게 더 낫습니다.

 

그런데 그 로그인버튼을 어떻게 생성하는지 모르는 분들이 계시는데

 

제일 간단한 방법은, 소셜xe 기본 로그인페이지 스킨을 이용하면 됩니다.

 

우선 socialxe/skins/default/css로 들어가 보면 default.css파일이 있는데, 이를 복사해서 레이아웃의 css폴더에 넣어줍니다.

 

그리고 보시면 img라는 폴더가 있고 그 이하에 각종 버튼 아이콘들이 있는데, 이것들도 복사해서 레이아웃의 img 폴더에 넣어줍니다. (해당 폴더가 없으면 생성)

 

그 다음 로그인버튼을 삽입할 html 파일을 열어서, <load target="css/default.css" /> 식으로 위 css파일을 불러옵니다.

 

그리고 삽입을 원하는 위치에 {@ $oSocialxeModel = getModel('socialxe');} 구문을 삽입하고 ul,li 태그를 사용하여 버튼을 생성해주면 되는데

 

방법은 다음과 같습니다.

 

<div class="(레이아웃에 맞게 수정)">
{@ $oSocialxeModel = getModel('socialxe');}
<h2>SNS {$lang->cmd_login}</h2>
<ul class="sns_login">
<li>
<div id="sns_(사용할 SNS)">
<a href="{$oSocialxeModel->snsAuthUrl('(사용할 SNS)', 'login')}" class="loginBtn">
<span class="icon"></span>
<span class="buttonText">(사용할 SNS) {$lang->cmd_login}</span>
</a>
</div>
</li>
</ul>
</div>

 

 

이런 방식으로 추가하면 됩니다. 버튼 하나를 추가할 때마다 <li></li>를 사용하여 추가하면 됩니다.

 

이렇게 하면 소셜xe 로그인페이지의 버튼과 같은 버튼이 생성됩니다.

 

이를 실제로 로그인창에 적용한 모습은 다음과 같습니다. (스케치북 레이아웃의 login.html 파일을 수정하여 적용)

 

 

84bb4641284fb13b07f2fbac8111b955.png

 

  • profile
    소셜로그인 사용하게 되면 써봐야 겠네요. ㅎ
  • ?
    아 맞다! 한가지 빼먹었네요. css만 복사하면 안되고 img폴더 이하의 버튼 이미지들도 같이 복사해야 합니다. 조만간 수정하겠습니다.
  • profile

    워우, 이런팁 좋아요!

    myAvatar_17004571_1.gif

     

  • ?
    필요했던 정보 감사합니다.
  • ?

    한가지 궁금한 부분이 있어 문의드립니다.
    소셜xe설치 전 원래 있던 로그인 부분에 소셜xe 버튼을 삽입을 알려주신 팁대로 모두 적용했습니다.

    레이아웃에서 로그인 버튼을 누르면 수정한 로그인 부분으로 이동이 되어야 하는데 소셜xe기본 로그인 페이지로 이동이 됩니다.
    이부분 링크는 어떻게 연결해야 할까요?

  • ?
    아 해결되었습니다 .팁 감사합니다. :)
  • ?
    레이아웃의 css 폴더가 안보이는데요 ㅠㅠ
  • ? ?
    없으면 만들면 됩니다. css가 없는 레이아웃은 없으므로 다른 css파일 있는 곳 찾아서 넣은 다음 삽입경로 수정해도 되구요. 폴더 이름 같은건 별로 중요하지 않습니다.
  • ? ?
    기븐님 그러면 /html/layotus/css에 default.css 파일 넣으면 되는건가요??
  • ? ?
    네.

    img폴더도 옮겨야 합니다.
  • ? ?

    일단 여기까지 성공~ 그리구 그 로그인 버튼에 삽입할 html이라는게 새로 html파일을 만들면 되는건가요?

  • ? ?
    레이아웃의 html파일을 열어서 로그인폼이 있는 곳을 수정하라는 뜻입니다.

    보통 layout.html 파일 보면 중간에 로그인창 있는 곳이 있을겁니다.

    (스케치북 레이아웃의 경우 해당 부분을 보면 login.html이라는 별도의 파일을 불러오도록 되어 있기 때문에 login.html을 수정한 것이고, 여타 레이아웃의 경우 그런 파일이 따로 없이 layout.html파일 내에 로그인폼을 설정해놓은 부분이 있을겁니다. 그 부분을 찾아서 수정하면 됩니다.)
  • ? ?
    아 그런데 혹시, 지금 어떤 레이아웃을 쓰시는지 모르겠는데

    만약 따로 레이아웃 페이지에 로그인 버튼이 없고, "로그인" 버튼을 눌렀을 때 dispMemberLoginForm 으로 넘어가도록 되어 있는 레이아웃이라면 이 글이 해당되지 않습니다.

    (직접 로그인버튼을 삽입할 공간을 만들거나, 혹은 본문 최상단 링크에 있는 글을 참조해서 로그인 페이지를 수정하도록 해야 합니다)
  • ? ?
    감사합니다. 일단해볼게요 레이아웃은 기본으로 사용하고있어요~
  • ? ?
    /html/layouts/default 여기에있는 layout.html이건가요??
  • ? ?

    네.

     

    근데 기본 레이아웃이 "xe 기본 레이아웃" 이거인가요 아님 "xedition"인가요? 이 둘은 폴더가 다릅니다

  • ? ?
    http://lovestar1313.dothome.co.kr/ 한번만 봐주세요 디자인들어가면 그냥 기본레이아웃으로 되어있어서요
  • ? ?

    <load target="default.layout.css" />
    <load target="default.layout.webfont.css" cond="$layout_info->WEB_FONT == 'YES'" />
    <load target="../../common/js/respond.min.js" targetie="lt IE 9" />
    <load target="default.layout.js" type="body" />
    <div class="container">
        <p class="skip"><a href="#content">{$lang->skip_to_content}</a></p>
        <header class="header">
            <h1>
                <a href="{geturl('')}" id="siteTitle">
                    <img src="siteTitle.png" alt="XpressEngine" cond="!Context::getSiteTitle() && !$layout_info->LOGO_IMG && !$layout_info->LOGO_TEXT">
                    <block cond="Context::getSiteTitle() && !$layout_info->LOGO_IMG && !$layout_info->LOGO_TEXT">{Context::getSiteTitle()}</block>
                    <img src="{$layout_info->LOGO_IMG}" alt="{$layout_info->LOGO_TEXT}" cond="$layout_info->LOGO_IMG">
                    <block cond="!$layout_info->LOGO_IMG && $layout_info->LOGO_TEXT">{$layout_info->LOGO_TEXT}</block>
                </a>
            </h1>
            <div class="side">
                <!-- ACCOUNT -->
                <img widget="login_info" skin="default" />
                <!-- /ACCOUNT -->
                <!-- SEARCH -->
                <form action="{getUrl()}" method="get" class="search">
                    <input type="hidden" name="vid" value="{$vid}" />
                    <input type="hidden" name="mid" value="{$mid}" />
                    <input type="hidden" name="act" value="IS" />
                    <input type="text" name="is_keyword" value="{$is_keyword}" required placeholder="{$lang->cmd_search}" title="{$lang->cmd_search}" />
                    <input type="submit" value="{$lang->cmd_search}" />
                </form>
                <!-- /SEARCH -->
            </div>
            <!-- GNB -->
            <nav class="gnb" id="gnb">
                <ul>
                    <li loop="$GNB->list=>$key1,$val1" class="active"|cond="$val1['selected']">
                        <a href="{$val1['href']}" target="_blank"|cond="$val1['open_window']=='Y'">{$val1['link']}</a>
                        <ul cond="$val1['list']">
                            <li loop="$val1['list']=>$key2,$val2" class="active"|cond="$val2['selected']"><a href="{$val2['href']}" target="_blank"|cond="$val2['open_window']=='Y'">{$val2['link']}</a></li>
                        </ul>
                    </li>
                </ul>
            </nav>
            <!-- /GNB -->
        </header>
        <!-- VISUAL | DEFAULT -->
        <div class="visual main"|cond="$layout_info->LAYOUT_TYPE=='MAIN_PAGE'" class="visual sub"|cond="$layout_info->LAYOUT_TYPE=='SUB_PAGE'" cond="!$layout_info->VISUAL_IMAGE_1 && !$layout_info->VISUAL_IMAGE_2 && !$layout_info->VISUAL_IMAGE_3 && $layout_info->VISUAL_USE=='YES'">
            <div class="list">
                <a href="{geturl('','module','admin','act','dispAdminConfigGeneral')}" class="item i1" cond="$layout_info->LAYOUT_TYPE=='MAIN_PAGE'">
                    <img src="visual.main.1.jpg" alt="" />
                    <p>Click, to change<br> the site title.</p>
                </a>
                <a href="{geturl('','module','admin','act','dispMenuAdminSiteMap')}" class="item i2" cond="$layout_info->LAYOUT_TYPE=='MAIN_PAGE'">
                    <img src="visual.main.2.jpg" alt="" />
                    <p>Click, to change<br> the site navigation.</p>
                </a>
                <a href="{geturl('','module','admin','act','dispLayoutAdminInstanceList','layout','default')}" class="item i3" cond="$layout_info->LAYOUT_TYPE=='MAIN_PAGE'">
                    <img src="visual.main.3.jpg" alt="" />
                    <p>Click, to change<br> the site visual image.</p>
                </a>
                <a href="{geturl('','module','admin','act','dispLayoutAdminInstanceList','layout','default')}" class="item i1" cond="$layout_info->LAYOUT_TYPE=='SUB_PAGE'">
                    <img src="visual.sub.jpg" alt="" />
                    <p>Click, to change the site visual image.</p>
                </a>
            </div>
            <button type="button" class="prev" title="Prev"><i></i></button>
            <button type="button" class="next" title="Next"><i></i></button>
        </div>
        <!-- VISUAL | USER DEFINE -->
        <div class="visual main"|cond="$layout_info->LAYOUT_TYPE=='MAIN_PAGE'" class="visual sub"|cond="$layout_info->LAYOUT_TYPE=='SUB_PAGE'" cond="($layout_info->VISUAL_IMAGE_1 || $layout_info->VISUAL_IMAGE_2 || $layout_info->VISUAL_IMAGE_3) && $layout_info->VISUAL_USE=='YES'">
            <div class="list">
                <a href="{$layout_info->VISUAL_LINK_1}" class="item i1" cond="$layout_info->VISUAL_IMAGE_1">
                    <img src="{$layout_info->VISUAL_IMAGE_1}" alt="" />
                    <p>{$layout_info->VISUAL_TEXT_1}</p>
                </a>
                <a href="{$layout_info->VISUAL_LINK_2}" class="item i2" cond="$layout_info->VISUAL_IMAGE_2">
                    <img src="{$layout_info->VISUAL_IMAGE_2}" alt="" />
                    <p>{$layout_info->VISUAL_TEXT_2}</p>
                </a>
                <a href="{$layout_info->VISUAL_LINK_3}" class="item i3" cond="$layout_info->VISUAL_IMAGE_3">
                    <img src="{$layout_info->VISUAL_IMAGE_3}" alt="" />
                    <p>{$layout_info->VISUAL_TEXT_3}</p>
                </a>
            </div>
            <button type="button" class="prev" title="Prev"><i></i></button>
            <button type="button" class="next" title="Next"><i></i></button>
        </div>
        <!-- /VISUAL -->
        <div class="body main"|cond="$layout_info->LAYOUT_TYPE=='MAIN_PAGE'" class="body sub"|cond="$layout_info->LAYOUT_TYPE=='SUB_PAGE'">
            <!-- LNB -->
            <nav class="lnb" cond="$layout_info->LAYOUT_TYPE == 'SUB_PAGE'">
                <h1 loop="$GNB->list=>$key1,$val1" cond="$val1['selected']"><a href="{$val1['href']}" target="_blank"|cond="$val1['open_window']=='Y'">{$val1['link']}</a></h1>
                <ul loop="$GNB->list=>$key1,$val1" cond="$val1['selected'] && $val1['list']">
                    <li loop="$val1['list']=>$key2,$val2" class="active"|cond="$val2['selected']"><a href="{$val2['href']}" target="_blank"|cond="$val2['open_window']=='Y'">{$val2['link']}</a>
                        <ul cond="$val2['list']">
                            <li loop="$val2['list']=>$key3,$val3" class="active"|cond="$val3['selected']"><a href="{$val3['href']}" target="_blank"|cond="$val3['open_window']=='Y'">{$val3['link']}</a></li>
                        </ul>
                    </li>
                </ul>
            </nav>
            <!-- /LNB -->
            <!-- CONTENT -->
            <div class="content" id="content">
                {$content}
            </div>
            <!-- /CONTENT -->
        </div>
    </div>
    <footer class="footer">
        <p cond="!$layout_info->FOOTER">Powered by <a href="https://xe1.xpressengine.com/">XE</a>.</p>
        <p cond="$layout_info->FOOTER">{$layout_info->FOOTER}</p>
    </footer>

  • ? ?
    /html/layouts/default에있는 layout.html이거 어도비 드림위버로 불러왔더니 이런식으로 나왔는데 어디를 수정해야할까요??
  • ? ?
    잘 모르겠네요.