묻고답하기
질문4가지..
2010.05.29 20:48
레이아웃 만다는건 시간이 너무걸릴듯해서 가장마음에드는 레이아웃 수정해서 쓰려하는대.
모르는게 너무많아서 너무힘드내욤 ;;;
질문1. html에서 <!-- --> 이것은 주석기능만 하는줄알았는대요.. XE의 레이아웃 파일을 열어보니 조건문 역할을 하고있내요..?
<!--@foreach($main_menu->list as $key => $val)--> 이런방식으로 쓰는건 XE에서 정의(?) 해줫기때문에 사용가능한가요..?
(아무래도 @이게 들어갈떄 php 비슷하게 되는것같은..?)
질문2. <!--@if($layout_info->main_menu_type == "1")--> 는 어떤조건을 말하는걸까요..?
($layout_info 의 값중 main_menu_type이 1일때 실행 일까요..? 그렇다면 $layout_info 은 뭐지..)
질문3. 질문1의 foreach는 뭘하겠다는걸까요 ..?
질문4.레이아웃의 로그인정보출력의 스킨은어디서 바꿔야하나요 .?
아래는 레이아웃(x_dom)의 일부인대 스킨을 바꾸는건 안보이는듯한대...
<!-- 로그인 창 시작 -->
<!--@if(!$is_logged)-->
{@ $member_config = MemberModel::getMemberConfig(); }
<!--%import("./filter/login.xml")-->
<enable_openid=='Y'">!--@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 class="wide wide_{$layout_info->colorset}">
<div id="loginLayer" class="loginLayer loginTypeA">
<!-- class="loginLayer loginTypeA" | class="loginLayer loginTypeB" -->
<form action="" method="post" id="commonLogin" onsubmit="return procFilter(this, login)">
<input name="user_id" type="text" class="id" id="uid" value="" onfocus="this.style.backgroundImage='none';" />
<input name="password" type="password" class="password" id="upw" onfocus="this.style.backgroundImage='none';" /> <input name="" type="submit" value=" " class="submit" />
<div class="saveIDinfo">
<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>
</div>
</form>
<enable_openid=='Y'">!--@if($member_config->enable_openid=='Y')-->
<div class="clear"></div>
<div class="oid_desc"><img src="images/oid_desc.gif" alt="" /></div>
<div class="form_field">
<form action="./" method="post" id="openidLogin" onsubmit="return procFilter(this, openid_login)">
<input name="openid" type="text" class="oid" id="oid" onfocus="this.style.backgroundImage='none';" />
<input name="" type="submit" value=" " class="submit_oid" />
</form>
</div>
<!--@else-->
<div class="oid_desc pdT20">
<p>{$lang->no_have_id}</p><p>{$lang->use_signup}</p></div>
<!--@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>
</ul>
</div>
<div class="adLayer">
<button type="button" class="close" onclick="document.getElementById('loginWindow').style.display='none'" accesskey="X"><span>Close Login Layer</span></button>
<!-- 로그인 창 광고 시작 -->
<adLayer">!--@if($layout_info->adLayer)-->
{$layout_info->adLayer}
<!--@else-->
<script type="text/javascript"><!--
google_ad_client = "pub-8278444203493355";
/* 250x250, 작성됨 08. 3. 14 */
google_ad_slot = "4247824418";
google_ad_width = 250;
google_ad_height = 250;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<!--@end-->
<!-- 로그인 창 광고 끝 -->
<button type="button" class="close" onclick="document.getElementById('loginWindow').style.display='none'" accesskey="X"><span>Close Login Layer</span></button>
</div>
</div>
</div>
<!-- /loginWindow -->
<!--@end-->
<!-- 로그인 창 끝 -->
ps. 4번 이외에는 답변 해주시지 않아도 됩니다 .......
1번과 3번은 http://zbxe.springnote.com/pages/392287에 자세히 나와있구요.
2번은
.xml파일에서 받아오는 데이터 입니다. 보통은 skin.xml.... 그안에 보면
<extra_vars>
<var name="default_style" type="select">
빨간색 부분이 말씀하신 <!--@if($layout_info->default_style )--> 과 연결이 되어 있습니다
4번은
현재 로그인 창은 (1)페이지에 직접 삽입, (2)로그인버튼 누르면 반투명 배경을 가지면서 전체창에 뜨는 타입 - modal window, (3)위젯사용
이렇게 3가지라고 보면
(1), (2)는 layout.html과 찾아내신것처럼 어느부분이냐를 파악한후 태그들에 적용되어 있는 id나 class등의 이름을 관련 css파일에서 조정하셔야 하고, css파일의 이름은 다 달라서.. xe 공식레이아웃은 layout.css에 없고 layout@official.css파일 내에 있는등..
(3)은 해당 widget의 login_form.html과 login_info.html에서 확인하고 css파일을 수정해야 합니다.
보여주신 내용은 modal window인거 같은데요.. 로그인 부분만 스킨을 직접 만드시려면 widget방식이 나을거 같네요.