메뉴 건너뛰기

MH

조회 수 1,497 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

이전 다음 위로 아래로 인쇄 첨부 목록
?

단축키

Prev이전 문서

Next다음 문서

이전 다음 위로 아래로 인쇄 첨부 목록
첨부파일 등록일 파일크기 다운 수
Extra Form
원작자 윤삼
출처 https://www.xetown.com/lakepark/529171

[수정 Tip]
저는 확장변수의 "mid"와 "사용자 정의 이름"을 설정에서 수정할 수 있게 하고,
아울러 단위와 최저치 메세지도 설정에서 수정할 수 있게끔 수정하는 방법입니다.

1. skin.xml에 추가
<group>
<title xml:lang="ko">확장변수 설정</title>
<var name="etc_mid" type="text">
<title xml:lang="ko">★수정확장변수 mid</title>
<description xml:lang="ko">수정할 확장변수의 mid(게시판명)를 적어주세요.
</description>
</var>
<var name="etc_name" type="text">
<title xml:lang="ko"> ┖ 수정할 확장변수 사용자 정의 이름</title>
<description xml:lang="ko">수정을 원하는 확장변수의 사용자 정의 이름을 적어주세요.</description>
</var>
<var name="f_name" type="text">
<title xml:lang="ko"> ┖ 확장변수 전방 단위</title>
<description xml:lang="ko">확장변수값 앞에 붙는 단위를 적어주세요.(예 ; 월)</description>
</var>
<var name="b_name" type="text">
<title xml:lang="ko"> ┖ 확장변수 후방 단위</title>
<description xml:lang="ko">확장변수값 뒤에 붙는 단위를 적어주세요.(예 ; 원)</description>
</var>
<var name="msg_1" type="text">
<title xml:lang="ko"> ┖ 최저치 이하 메세지 1</title>
<description xml:lang="ko">입력값이 최저치 이하인 경우 메세지 1</description>
</var>
<var name="msg_2" type="text">
<title xml:lang="ko"> ┖ 최저치 이하 메세지 2</title>
<description xml:lang="ko">입력값이 최저치 이하인 경우 메세지 2</description>
</var>
</group>


2. write_form.html 과 _write_form_mobile.html 수정(모바일까지 수정)

<td cond="$val->eid!==$mi->etc_name">{$val->getFormHTML()}</td>
<td cond="$mid ==$mi->etc_mid&&$val->eid==$mi->etc_name">
	<style>
		.exForm li{display:inline-block;line-height:26px;cursor:pointer}
		#donation_etc{display:none;margin-top:10px;vertical-align:middle;}
		#donation_etc input{width:83px;height:26px;font-size:12px;}
	</style>
	<ul>
	{@
		$val_array = explode(', ',$val->default);
		$val_value = implode('',$oDocument->getExtraEidValue($val->eid));
	}
		<li loop="$n=0;$n<count($val_array);$n++">
		<!--@if($n+1!=count($val_array))-->
			<input name="extra_vars{$val->idx}" class="radio" id="extra_vars{$val->idx}-100{$n+1}" type="radio" value="{$val_array[$n]}">
			<label for="extra_vars{$val->idx}-100{$n+1}">{$mi->f_name} {number_format($val_array[$n])}{$mi->b_name}</label>
		<!--@else-->
			<input name="extra_vars{$val->idx}" class="radio" id="extra_vars{$val->idx}-100{$n+1}" type="radio" value="">
			<label for="extra_vars{$val->idx}-100{$n+1}">직접 입력</label>
			<span id="donation_etc">
				{$mi->f_name} <input type="tel" id="etc_val" class="itx" value="<!--@if(!in_array($val_value,$val_array))-->{number_format($val_value)}<!--@end-->" />{$mi->b_name}
			</span>
		<!--@end-->
		</li>
	</ul>
	<p>{$val->desc}</p>
</td>

중간 소스 그대로 두고 코드 제일 아래에 스크립트 추가하세요.

<script>


jQuery(document).ready(function(){
	var etc = jQuery('#donation_etc'),
		li_last = etc.parent('li'),
		para = li_last.parent('ul').next('p'),
		pText = li_last.parent('ul').next('p').text(),
		li_rest = li_last.parent('ul').children('li').not(li_last),
		first_val = Number(li_last.parent('ul').children('li:first').children('input.radio').val()),
		etc_btn = li_last.children('input'),
		etc_val = jQuery('#etc_val'),
		donated = '{$val_value}',
		msg1 = '{$mi->msg_1}',
		msg2 = ' {$mi->msg_2}';


	if(donated==0) etc_val.val('');
	if(donated!=''&&donated!=0){
		etc_btn.val(donated.replace(/[^0-9]/g,''));
		etc_btn.prop('checked',true);
		etc.show();
		li_rest.children('input').each(function(){
			if(jQuery(this).val()==donated){
				jQuery(this).prop('checked',true);
				etc_val.val('');
				etc.hide();
			}
		});
	}


	etc_val.on({
		input: function(){
			etc_val.val(etc_val.val().replace(/[^0-9,]/g,'').replace(/(^0+)/,''));
			etc_btn.val(etc_val.val().replace(/[^0-9]/g,''));
			if(etc_btn.val()!=0&&etc_btn.val()<first_val) {
				etc_btn.val('');
				para.text(msg1);
			} else {
				etc_btn.val(etc_val.val().replace(/[^0-9]/g,''));
				para.text(pText);
			}
		},
		blur: function(){
			if(li_rest.data('mouseDown')!=true){
				etc_btn.val(etc_val.val().replace(/[^0-9]/g,''));
				etc_val.val(etc_val.val().replace(/[^0-9]/g,'').replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'));
				if(etc_btn.val()!=0&&etc_btn.val()<first_val) {
					etc_val.select();
					etc_btn.val('');
					para.text(msg1+msg2).hide().fadeIn(1000);
					etc_val.focus();
				}
			}
		}
	});


	li_last.on('click',function(){
		etc_btn.prop('checked',true);
		etc.show();
		etc_val.focus();
		etc_val.val(etc_val.val().replace(/[^0-9]/g,'').replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1,'));
		if(etc_val.val().replace(/[^0-9]/g,'')!=0&&etc_val.val().replace(/[^0-9]/g,'')<first_val) {
			etc_val.select();
			etc_btn.val('');
			para.text(msg1+msg2).hide().fadeIn(1000);
		}
		return false;
	});
	etc_btn.on('focus',function(){
		etc_btn.prop('checked',true);
		etc_val.focus();
	});


	li_rest.on('mousedown',function(e){
		li_rest.data('mouseDown',true);
	});
	li_rest.on('mouseup',function(e){
		li_rest.data('mouseDown',false);
	});
	li_rest.on('click',function(){
		jQuery(this).children('input').prop('checked',true);
		etc.hide();
		para.text(pText);
	});
});
</script>

이렇게 하지 않고 원본팁대로 붙여서 추가를 하면

로그인을 해도 글 작성란 아래 로그아웃때 처럼 이름,비번,메일등 의 란이 나옵니다.


3. _read.html 수정


<td cond="$val->eid!='rating'&&$val->eid!==$mi->etc_name">{$val->getValueHTML()}</td>

<td cond="$val->eid!='rating'&&($mid ==$mi->etc_mid&&$val->eid==$mi->etc_name)">{$mi->f_name} {number_format(str_replace(',','',$val->getValueHTML()))}{$mi->b_name}</td>

<td cond="$val->eid=='rating'&&$val->eid!==$mi->etc_name" class="rating"><span class="starRating" title="{$val->getValueHTML()}{$lang->score}"><span style="width:{$val->getValueHTML()*10}%">{$val->getValueHTML()}</span></span></td>


이렇게 수정해서 사용하시면 다른 게시판에 큰 영향 주지않고

다양한 용도로 사용도 가능합니다.

이 Tip의 평점 (참여 : 0 / 총 점수 : ) 평균 평점 : 0.0점
TAG •
    댓글이 하나도 없네요ㅠㅠ
    Tip이 도움이 되었다면 댓글과 평가 부탁합니다. Tip에 대한 궁금한 점은 댓글로 남겨 주시면 성심껏 답변 드립니다.
이 글 평점 주기
5점
?

List of Articles
번호 분류 제목 원작자 날짜 조회 수 적용페이지 추천 수 평점
224 문하우스 게시판 설정 위자드 생성하는 방법 file 80san 2018.01.21 1,153 0
223 문하우스 squarenet.kr에서 제공하는 cPanel 무료 웹서브 세팅 따라하기 3 file 80san 2018.01.15 980 0
222 Xe 로그인 ID를 이메일에서 아이디로 변경하는 방법 file 불금 2018.01.13 619 0
221 문하우스 말풍선(툴팁) 애드온을 이용한 위젯설정 7 file 80san 2017.11.07 1,457 6
220 XE타운 라이믹스 스케치북 게시판 및 스케치북 게시판 1.72 스크롤 이슈 file 도리 2017.10.07 760 0
219 문하우스 본문에 삽입된 이미지들이 사라진 경우 file 80san 2017.09.25 823 0
» XE타운 확장변수중 "단일 선택(radio)"시 "직접입력" 부분 나오게 수정 file 윤삼 2017.05.19 1,497 0
217 기타 대댓글에 'OOO님에게 달린 댓글' 구현하기 6 file Str@wBerry♪'· 2017.05.16 1,281 5
216 XE타운 게시판 리스트 확장변수 항목에 css 입히기 13 file 윤삼 2017.04.22 1,520 5
215 XE타운 제목에 태그 출력하고 링크 걸기 file socialskyo 2017.03.20 4,476 0
214 Xe "이 페이지 나가기" 경고창이 뜨는 사이트의 경우 투씨 2017.02.09 1,613 0
213 Xe xe업데이트 후 member모듈 업데이크가 되지 않을때 file 고니고니 2017.02.03 719 0
212 문하우스 레이아웃 최상단에 애니메이션 효과로 펼쳐지는 메뉴 file 80san 2017.01.04 3,098 0
211 문하우스 팝업창을 마우스로 이동 가능하게 하는 방법 file 80san 2017.01.02 3,488 0
210 기타 [XE Core 1.4.4 이상] 새 템플릿 문법을 쉽게 알아보자. SMaker 2016.12.26 518 0
209 XE타운 글 작성전 에디터에 미리 준비된 메세지 보이기 ckeditor, xpresseditor file 구름이 2016.12.25 23,414 0
208 Xe XE첨부파일중에 확장자뒤에 -x 붙는 부분 해결하기 DNAVI 2016.11.19 911 0
207 XE타운 수정 [속도 향상] 불필요한 애드온 끄기 팀워크 2016.04.17 1,006 0
206 문하우스 Hey buddy, don't try to fool us! 이 메세지가 뜨면 file 80san 2016.04.14 1,435 0
205 문하우스 XE 1.4 에서 1.8버전으로 변경 file 80san 2016.03.20 1,341 0
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 ... 18 Next
/ 18
  1. 나의XE
  2. Xe자료
  3. Xe팁
  4. Html
  5. Layouts
  6. QnA
위로