묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
XEDITION 로그인 위젯을 다른 레이아웃에서 사용하고 싶습니다.
2015.09.09 14:19
XEDITION 의 로그인 위젯 (팝업으로 뜨는)을 다른 레이아웃에서 사용하고 싶은데
이 위젯의 코드를 사용하려면 어떤 코드를 뒤져봐야 할까요.
XEDITION layout을 folder외에 참고해야 할 다른 folder도 있는지요.
참고로
doorweb basic 에서 로그인하는데 사용하려고 합니다.
다른 로그인 위젯은 게시판에 따라 설정하게 되어 있어
게시판에 따른 권한과 연동하여 사용하기 어려움이 있습니다.
태그 연관 글
- [2018/06/28] 묻고답하기 왕초보 절박하게 xedition 위젯 위치 고정 문의드립니다. *4
- [2016/07/27] 묻고답하기 페이지이동 스크립트 문의드려요.+ 홈페이지 꾸미는 문의
- [2015/07/28] 묻고답하기 XEDITION 레이아웃 몇가지 질문 드립니다, 도저히 모르겠습니다, 도와주세요~~~ ㅠ.ㅠ
- [2015/07/25] 묻고답하기 [XE팀] xedition 레이아웃 1.8.7에서 에러? *2
- [2015/06/04] 묻고답하기 XEDITION 문의드립니다. *4
바른 방법인지 확신할 수 없으나 아래 방법으로 해결했습니다.
아래는 doorweb basic의 경우에 해당합니다.
--------------------------------------------------------------------
1. css 및 image Copy
widget.login.css 및 widget.login.min.css
btn_close.png, bg_sitemap.png, blank.gif
2. info.xml 변경
151번 라인 이후에 아래 내첨가
<var name="use_login_widget" type="select">
<title xml:lang="ko">로그인 위젯 사용</title>
<options value="Y">
<title xml:lang="ko">사용함</title>
</options>
<options value="N">
<title xml:lang="ko">사용 안 함</title>
</options>
</var>
3. layout.html변경
3.1 라인 변경:
180: <li><a class="Acolor" href="{getUrl('act','dispMemberSignUpForm','mid', $layout_info->DWmember_info)}">{$lang->cmd_signup}</a></li>
281: <li class="H_first_li"><a class="Acolor" href="{getUrl('act','dispMemberLoginForm','mid', $layout_info->DWmember_info)}">{$lang->cmd_login}</a></li>
==>
New: <li><a class="Acolor" id="ly_login_btn" href="{getUrl('act', 'dispMemberLoginForm')}">{$lang->cmd_login}</a></li>
* doorweb 레이아웃 기본정보 저장이 필요함
3.2 위젯추가
<!-- Login widget -->
<section cond="$layout_info->use_login_widget != 'N'" class="login_widget" style="display:none"|cond="$XE_VALIDATOR_ID != 'layouts/xedition/layout/1' || !$XE_VALIDATOR_MESSAGE">
<load target="./css/widget.login.css" />
<div class="ly_dimmed"></div>
<div class="signin">
<div class="login-header">
<h1>LOGIN</h1>
</div>
<div class="login-body">
<form action="{getUrl()}" method="post" autocomplete="off">
<input type="hidden" name="act" value="procMemberLogin" />
<input type="hidden" name="success_return_url" value="{htmlspecialchars(getRequestUriByServerEnviroment(), ENT_COMPAT | ENT_HTML401, 'UTF-8', FALSE)}" />
<input type="hidden" name="xe_validator_id" value="layouts/xedition/layout/1" />
<fieldset>
<legend class="blind">{$lang->cmd_login}</legend>
<div class="control-group">
<div class="group">
<input type="text" name="user_id" id="uemail" required="true" />
<span class="highlight"></span>
<span class="bar"></span>
<label class="info_label" for="uemail">{$lang->user_id}</label>
</div>
<div class="group">
<input type="password" name="password" id="upw" required="true" />
<span class="highlight"></span>
<span class="bar"></span>
<label class="info_label" for="upw">{$lang->password}</label>
</div>
</div>
<div cond="$XE_VALIDATOR_ID == 'layouts/xedition/layout/1' && $XE_VALIDATOR_MESSAGE" class="control-group">
<p class="error">{$XE_VALIDATOR_MESSAGE}</p>
</div>
<div class="control-group">
<label class="chk_label" for="keepid_opt">
<input type="checkbox" name="keep_signed" id="keepid_opt" value="Y" />
<span class="checkbox"></span> {$lang->keep_signed}
</label>
<div id="warning">
<p style="text-align:right;"><i class="xi-close"></i></p>
<p>{str_replace('\n\n', '<br />', $lang->about_keep_signed)}</p>
<div class="edge"></div>
</div>
<button type="submit" class="btn_submit">{$lang->cmd_login}</button>
</div>
</fieldset>
</form>
</div>
<div class="login-footer">
<a href="{getUrl('act', 'dispMemberFindAccount')}">{$lang->cmd_find_member_account}</a>
<span class="f_bar">|</span>
<a href="{getUrl('act', 'dispMemberSignUpForm')}">{$lang->cmd_signup}</a>
</div>
<a href="#" class="btn_ly_popup"><span class="blind">닫기</span></a>
</div>
<script>
jQuery(function ($) {
var keep_msg = $("#warning");
$(".chk_label").on("mouseenter mouseleave focusin focusout", function (e) {
if(e.type == "mouseenter" || e.type == "focusin") {
keep_msg.show();
}
else {
keep_msg.hide();
}
});
$("#ly_login_btn, #ly_btn").click(function () {
$(".login_widget").show();
return false;
});
$(".btn_ly_popup").click(function () {
$(".login_widget").hide();
return false;
});
$("input").blur(function () {
var $this = $(this);
if ($this.val()) {
$this.addClass("used");
}
else {
$this.removeClass("used");
}
});
});
</script>
</section>
<!-- /Login widget -->