Articles 2
예음회원예음 *.129.248.130

로그인을 XE Official Ver2 레이아웃처럼 팝업 창으로 띄우는 방법입니다.

login.gif


1. 아래 코드를 레이아웃의 <div id="header">와 <div id="body"> 사이에 삽입합니다.


<div id="header">

<ul class="account">

<li class="log">

<!--@if($is_logged)-->

<a href="{getUrl('act','dispMemberLogout')}"><img src="img/buttonLogout.gif" width="33" height="5" alt="LOGOUT" /></a>

<!--@else-->

<a href="#loginWindow" onclick="jQuery('#loginWindow').css('display','block');" accesskey="L"><img src="img/buttonLogin.gif" width="25" height="5" alt="LOGIN" /></a>

<!--@end-->

</li>

<!--@if(!$is_logged)-->

<li class="register"><a href="{getUrl('act','dispMemberSignUpForm')}"><span>Register</span></a></li>

<!--@else-->

<li class="profile">

<button type="button" onclick="jQuery('#memberProfile').toggleClass('active');"><span>Profile</span></button>

<!-- memberProfile -->

<div id="memberProfile" class="memberProfile">

<!-- class="memberProfile" | class="memberProfile active" -->

<button type="button" class="close" onclick="jQuery('#memberProfile').toggleClass('active');" accesskey="X"><span>Close profile layer</span></button>

<h2 class="authorName">{$logged_info->nick_name}</h2>

<ul>

<!--@foreach($logged_info->menu_list as $key => $val)-->

<li><a href="{getUrl('act',$key,'member_srl','')}">{Context::getLang($val)}</a></li>

<!--@end-->

</ul>

<button type="button" class="close" onclick="jQuery('#memberProfile').toggleClass('active');" accesskey="X"><span>Close profile layer</span></button>

</div>

<!-- /memberProfile -->

</li>

<!--@end-->

</ul>

</div>

<div id="body">


* 주의 : class 명은 레이아웃에 따라 달라질 수 있습니다.


2. 아래 코드를 레이아웃 마지막 부분에 삽입합니다.

<!--@if(!$is_logged)-->

{@ $member_config = MemberModel::getMemberConfig(); }

<!--%import("./filter/login.xml")-->

<!--@if($member_config->enable_openid=='Y')--><!--%import("./filter/openid_login.xml")--><!--@end-->

<!-- loginWindow -->

<div id="loginWindow" class="loginWindow">

<!-- class="loginWindow" | class="loginWindow open" -->

<span class="modalWindow"></span>

<div id="loginLayer" class="loginLayer loginTypeA">

<!-- class="loginLayer loginTypeA" | class="loginLayer loginTypeB" -->

<button type="button" class="close" onclick="document.getElementById('loginWindow').style.display='none'" accesskey="X"><span>Close Login Layer</span></button>

<form action="" method="post" class="typeA" id="commonLogin" onsubmit="return procFilter(this, login)">

<fieldset>

<legend>XE Login</legend>

<dl>

<dt><label for="uid">{$lang->user_id}</label></dt>

<dd><input name="user_id" type="text" class="inputText" id="uid" /></dd>

<dt><label for="upw">{$lang->password}</label></dt>

<dd><input name="password" type="password" class="inputText" id="upw" /></dd>

</dl>

<p class="keep"><input name="keep_signed" type="checkbox" id="keepA" value="Y" class="inputCheck" onclick="if(this.checked) return confirm('{$lang->about_keep_signed}');"/><label for="keepA">{$lang->keep_signed}</label></p>

<span class="loginButton"><input name="" type="submit" value="{$lang->cmd_login}" /></span>

</fieldset>

</form>

<!--@if($member_config->enable_openid=='Y')-->

<form action="./" method="post" class="typeB" id="openidLogin" onsubmit="return procFilter(this, openid_login)">

<fieldset>

<legend>OpenID Login</legend>

<dl>

<dt><label for="oid">Open ID</label></dt>

<dd><input name="openid" type="text" class="inputText" id="oid" /></dd>

</dl>

<span class="loginButton"><input name="" type="submit" value="{$lang->cmd_login}" /></span>

</fieldset>

</form>

<!--@end-->

<ul class="help">

<li class="join"><a href="{getUrl('act','dispMemberSignUpForm')}">{$lang->cmd_signup}</a></li>

<li class="find"><a href="{getUrl('act','dispMemberFindAccount')}">{$lang->cmd_find_member_account}</a></li>

<li class="find"><a href="{getUrl('act','dispMemberResendAuthMail')}">{$lang->cmd_resend_auth_mail}</a></li>

<!--@if($member_config->enable_openid=='Y')-->

<li class="typeA"><a href="#openidLogin" onclick="document.getElementById('loginLayer').className='loginLayer loginTypeB'">OpenID</a></li>

<li class="typeB"><a href="#commonLogin" onclick="document.getElementById('loginLayer').className='loginLayer loginTypeA'">OpenID</a></li>

<!--@end-->

</ul>

<button type="button" class="close" onclick="document.getElementById('loginWindow').style.display='none'" accesskey="X"><span>Close Login Layer</span></button>

</div>

</div>

<!-- /loginWindow -->

!--@end--


3. css파일 아래에 아래 코드를 삽입합니다.

/* modalWindow */

.loginWindow{ display:none; position:fixed; left:0; top:0; _position:absolute; width:100%; height:100%; z-index:100;}

.loginWindow.open{ display:block;}

.loginWindow .modalWindow{ display:block; position:fixed; border:0; left:0; top:0; _position:absolute; width:100%; height:100%; background:#000; opacity:.3; filter:alpha(opacity:30);}

.loginWindow .loginLayer{ position:absolute; width:289px; top:120px; left:50%; padding:30px; border:2px solid #737373; margin:0 0 0 -175px; background:#fff;}

.loginWindow .loginLayer form{ display:none; *zoom:1; margin:0 0 29px 0;}

.loginWindow .loginLayer form:after{ content:""; display:block; clear:both;}

.loginWindow .loginLayer form legend{ position:absolute; width:0; height:0; overflow:hidden; font-size:0; line-height:0; visibility:hidden;}

.loginWindow .loginLayer fieldset{ border:0; margin:0; padding:0;}

.loginWindow .loginLayer.loginTypeA form.typeA,

.loginWindow .loginLayer.loginTypeB form.typeB{ display:block;}

.loginWindow .loginLayer dl{ margin:0; padding:0 0 1px 0;}

.loginWindow .loginLayer dt{ font-size:12px; font-weight:bold; color:#868d95; margin:0 0 2px 0;}

.loginWindow .loginLayer dd{ margin:0 0 21px 0;}

.loginWindow .loginLayer .inputText{ width:269px; height:31px; padding:6px 9px 0 9px; border:1px solid #ddd; font:20px Tahoma; color:#333;}

.loginWindow .loginLayer .inputText:focus{ background-color:#fbfbfb;}

.loginWindow .loginLayer .inputCheck{ margin:0 3px 0 0; width:13px; height:13px; vertical-align:middle;}

.loginWindow .loginLayer.loginTypeA .inputText{ background-image:url(../img/bgLoginText.gif)undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined; background-repeat:no-repeat; background-position:right top;}

.loginWindow .loginLayer.loginTypeB .inputText{ background-image:url(../img/bgOpenidText.gif)undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined; background-repeat:no-repeat; background-position:right top; padding:6px 9px 0 35px; width:243px;}

.loginWindow .loginLayer .keep{ margin:0; float:left; font-size:11px; line-height:normal; white-space:nowrap;}

.loginWindow .loginLayer .keep label{ color:#555;}

.loginWindow .loginLayer .loginButton,

.loginWindow .loginLayer .loginButton input{ position:relative; border:0; color:#fff; font-size:12px; font-weight:bold; display:inline-block; height:36px; line-height:36px; background-color:transparent; background-image:url(../img/buttonLoginAction.gif)undefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefinedundefined; background-repeat:no-repeat; overflow:visible;}

.loginWindow .loginLayer .loginButton{ float:right; background-position:0 0; right:11px;}

.loginWindow .loginLayer .loginButton input{ left:11px; background-position:right 0; padding:0 30px 0 45px; cursor:pointer;}

.loginWindow .loginLayer .help{ margin:0 -30px -30px -30px; padding:14px 0; list-style:none; text-align:center; background:#fafafa; border-top:1px solid #f2f2f2;}

.loginWindow .loginLayer .help li{ display:inline; font-size:11px; line-height:11px; padding:0 0 0 5px;}

.loginWindow .loginLayer .help li.join{ font-weight:bold;}

.loginWindow .loginLayer .help li.find{ border-left:1px solid #b3b3b3;}

.loginWindow .loginLayer .help li.typeA,

.loginWindow .loginLayer .help li.typeB{ display:none; border-left:1px solid #b3b3b3;}

.loginWindow .loginLayer.loginTypeA .help li.typeA,

.loginWindow .loginLayer.loginTypeB .help li.typeB{ display:inline;}

.loginWindow .loginLayer .help li a{ text-decoration:none; color:#555;}

.loginWindow .loginLayer .help li a:hover,

.loginWindow .loginLayer .help li a:active,

.loginWindow .loginLayer .help li a:focus{ text-decoration:underline;}

.loginWindow .loginLayer .close{ position:absolute; cursor:pointer; border:0; padding:0; top:0; right:0; width:27px; height:27px; background:transparent url(../img/buttonCloseX.gif) no-repeat center center;}

.loginWindow .loginLayer .close span{ position:absolute; font-size:0; line-height:0; width:0; height:.; overflow:hidden; visibility:hidden;}


4. 첨부한 filter 파일의 압축을 푸신 후 레이아웃 폴더에 업로드합니다.
* 레이아웃 폴더 > filter

5. 첨부한 이미지 파일을  레이아웃 이미지 폴더(img)에 업로드 합니다.
* 이미지 폴더명은 레이아웃에 따라 다를 수 있습니다.

* 질문은 '묻고 답하기'를 이용해 주세요. > 묻고 답하기


test

2011.10.17 12:15:04
*.95.39.14

"비밀글 입니다."

:

예음

2011.10.17 18:00:40
*.129.243.195

다운로드 하시면 됩니다.

List of Articles

XE 로그인 팝업 창 띄우기 2

로그인을 XE Official Ver2 레이아웃처럼 팝업 창으로 띄우는 방법입니다. 1. 아래 코드를 레이아웃의 <div id="header">와 <div id="body"> 사이에 삽입합니다. <div id="header"> <ul class="account"> <li class="log"> <...

  • Resisted Date Jun. 26, 2010
  • Readed Count 2139
  • UpDate Oct. 17, 2011

게시판 / 위젯 제목 옆에 첨부되는 아이콘 삭제 2

게시판이나 위젯의 제목 옆에 첨부되는 아이콘 삭제 방법입니다. 1. 파일경로 : xe/modules/document/document.item.php 2. 삭제방법 : http://www.xpressengine.com/tip/17472735 참조.

  • Resisted Date Nov. 16, 2009
  • Readed Count 6299
  • UpDate Sep. 16, 2011
Tag Cloud

XE Login