메뉴 건너뛰기

xe form filter key 값 $lang으로 표시

Average Rating:
8.0/10 1명 참여
Rate this page:
일본어선생 (8)  
평점 한줄평 글쓴이 작성날짜
8
ㅎㅇ 일본어선생 (4) 04/06 15:26

xe 모듈을 개발하면서 form filter를 사용하여 유효성을 평가할 경우에 사용자가 지정한 키값의 확인메시지 출력과 관련입니다.


<form name="fo_satrcomment cmt_wrt col-md-7" onsubmit="return procFilter(this, updateStarComment)" action="./" method="post" enctype="multipart/form-data">
		<div class="input-group">
			<input type="hidden" name="document_srl" value="{$widget_info->document_srl}" />
			<input type="hidden" name="member_srl" value="{$widget_info->member_srl}" />
			<!-- 투표를 먼저 해야 한줄평을 작성할 수 있습니다.-->
			<input type="hidden" name="rateval" value="{$widget_info->is_starrated}" />
			<textarea class="form-control" rows="3" name="star_comment" placeholder="최대 한글 140자까지 가능하며, 스포일러는 삭제될 수 있습니다." style="resize:none"></textarea>
			<button class="input-group-addon btn btn-primary" type="submit">{$lang->cmd_confirm}</button>
		</div>
	</form>



tpl/filter/updateStarComment.xml 파일


<filter name="updateStarComment" module="star_rating_config" act="procStar_rating_configUpdateStarComment" confirm_msg_code="confirm_submit">
    <form>
        <node target="mid" required="true" maxlength="20" filter="alpha_number" />
        <node target="star_comment" required="true" maxlength="150" />
    </form>
    <response callback_func="completeUpdateStarComment">
        <tag name="error" />
        <tag name="message" />
        <tag name="module" />
        <tag name="act" />
        <tag name="page" />
        <tag name="module_srl" />
        <tag name="selected_module_srl" />
    </response>
</filter>

한줄평을 입력하지 않은 상태에서 '확인' 버튼을 클릭하면 아래와 같이 메시지 창에 key 값이 star_comment로 출력됩니다.

한줄평1.png




결론

아래와 같이 개발중인 모듈의 언어팩 파일에 key 값을 등록해 주면 'star_comment'를 '한줄평'으로 출력합니다.

!!! 단, 어드민 페이지에서 '캐시파일 재생성'을 꼭 실행해 주어야 적용됩니다.


lang/lang.xml


<?xml version='1.0' encoding='UTF-8'?>
<lang>
	<item name="star_comment">
		<value xml:lang="ko"><![CDATA[한줄평]]></value>
		<value xml:lang="en"><![CDATA[Star Comment]]></value>		
	</item>
	


한줄평.png






이러한 과정은 아래의 $lang 값과 sprintf함수 때문입니다.

$lang에 해당 key를 검색하기에 제작하는 모듈의 lang.xml 에 언어 키값을 등록해 두면됩니다.


xe/common/lang/lang.xml


<item name="filter">
		<item name="isnull">
			<value xml:lang="ko"><![CDATA[%s 값은 필수입니다.]]></value>




xe/classes/xmlquery/argument/Argument.class.php


function checkNotNull()
	{
		if(!isset($this->value))
		{
			global $lang;
			$this->isValid = FALSE;
			$key = $this->name;
			$this->errorMessage = new Object(-1, sprintf($lang->filter->isnull, $lang->{$key} ? $lang->{$key} : $key));
		}
	}





제목 날짜
Star Rating 별점 위젯 업데이트 정보   2014.03.09
xe 사용자정의 정렬 활용법   file
    9
xe Thumbnail wizard 모듈 참고 자료  
zend picasa ssl conection error   file
masonry 예제  
태그 목록