포럼
XE Core 1.4.4 새 템플릿 문법을 소개합니다. 간결+판독.
2010.12.16 22:39
XE Core 1.4.4 버전에 새로 추가된 새 템플릿 문법을 소개 합니다.
새 템플릿 문법의 장점은 다음과 같습니다.
- 간결 - 스킨의 소스 코드를 약 절반 정도로 간결하게 줄여서 용량을 절약할 수 있습니다.
- 판독 - HTML 태그에 기반하여 문법을 작성하기 때문에 조건문과 반복문의 시작-끝을 찾기가 훨씬 수월해 졌습니다. 코드 짝맞춰 접기/펼치기 기능을 지원하는 편집기에서 매우 편리하고 오류를 빨리 찾을 수 있습니다.
한편 새 템플릿 문법은 XE Core 1.4.4 미만 버전에는 적용되지 않기 때문에 하위 호환성을 유지해야 할 필요가 있는 경우 사용하지 않습니다. 기존의 템플릿 문법이 여전히 유효 하기 때문에 계속해서 사용할 수 있습니다.
조건문 | 설명 |
---|---|
<block cond="조건식"> <p>Welcome XE!</p> </block> |
조건식이 참이면 포함된 내용을 출력 |
<p cond="조건식"> Welcome XE! </p> |
조건식이 참이면 <p> 요소와 함께 포함된 내용을 출력 |
<p attr="value"|cond="조건식"> Welcome XE! </p> |
<p> 요소는 무조건 출력하는데 조건식이 참이면 attr="value" 속성과 값을 출력 |
반복문 | 설명 |
---|---|
<block loop="변수명=>$val"> <tr>...</tr> </block> |
$key값 없이 <tr>...</tr> 반복 |
<tr loop="변수명=>$val">...</tr> | $key값 없이 <tr>...</tr> 반복 |
<block loop="변수명=>$key, $val"> <tr>...</tr> </block> |
$key값 포함 <tr>...</tr> 반복 |
<tr loop="변수명=>$key,$val">...</tr> | $key값 포함 <tr>...</tr> 반복 |
<block loop="$i=0;$i<100;$i++"> <tr>...</tr> </block> |
초기값 0부터 시작하여 <tr>...</tr> 100회 반복 |
<tr loop="$i=0;$i<100;$i++">...</tr> | 초기값 0부터 시작하여 <tr>...</tr> 100회 반복 |
include문 | 설명 |
---|---|
<include target="header.html" /> | header.html 파일을 포함(include) |
load문 | 설명 |
---|---|
<load target="xe.css" /> | CSS 파일을 <head>에 포함 |
<load target="xe.js" /> | JS 파일을 <head>에 포함 |
<load target="xe.js" type=”body” /> | JS 파일을 문서 <body>에 포함 (1.4.4.2 이후) |
<load target="xe.xml" /> | XML JS 필터를 <head>에 포함 |
<load target="xe.xml" type=”body” /> | XML JS 필터를 <body>에 포함 (1.4.4.2 이후) |
unload문 | 설명 |
---|---|
<unload target="xe.css" /> | 경로가 일치하는 CSS 파일을 제외 |
<unload target="xe.js" /> | 경로가 일치하는 JS 파일을 제외 |
<unload target="xe.xml" /> | 경로가 일치하는 XML JS 필터를 제외 |
댓글 9
-
토깽이2
2010.12.16 22:40
-
제이엔지
2010.12.16 23:01
정찬명님 반가와요~ -
ForHanbi
2010.12.16 23:10
이거 하신다고 요즘 naradesign.net에 글 안올리셨구나...
XML느낌도 나면서 간략하게 표현할 수 있다는 생각이 드네요.
-
똑디
2010.12.17 09:54
이번에 새롭게 XE core 배포하시면서 레이아웃이나 위젯들도 모두 수정되어서 올라오는지요?
unload문은 언제 사용하는지 궁금해지네요. -
Hammer
2010.12.17 14:18
unload는 XE에서 기본으로 제공하는 CSS 및 JS 파일들을 특정 스킨에서 배제할때도 사용할 수 있지 않나 싶네요. 예를들면 뭐.. 음.. 제가 며칠전에도 부딪혔던 문제지만, 옛날에 만들어진 jQuery 플러그인이 최신 jQuery 버전에서 돌아가지 않고 구버전에서 돌아갈때는 XE에서 로드하는 1.4.x대 버전을 언로드 시키고 1.3 버전의 jQuery를 로드 시킨다던가 혹은 XE에서 이미 정의해서 사용하고 있는 버튼 속성인 button.css를 언로드 시키고 자기만의 버튼 CSS 로드 시킨다거나 말이죠.
button.css에는 간결한 클래스명이 사용되어 있으니 이 클래스명을 사용하고 싶다면 언로드 시키고 자기만의 CSS를 로드 시킬수도 있지 않을까요. 저는 스킨에 저만의 버튼 클래스를 만들려다보니 클래스명이 복잡해져서 좀 불편할때도 있더군요.아니면 스킨내에서 AJAX등을 통해서 읽혀지는 페이지의 경우 버튼 액션에 unload를 넣어 특정 액션이 발생했을 때 불필요한 JS 파일등이 로드되지 않도록 언로드를 시켜도 되겠고요. 활용방법의 주체는 아무래도 페이지내에서 사용되지 않는 스크립트를 제거하여 네트워크 환경을 환기시켜주는 역할이 되지 않나 싶네요^^
-
똑디
2010.12.17 14:54
와우..^^ 확실히 이해가 가네요. Hammer님 댓글 감사드립니다. -
Hammer
2010.12.17 15:39
에이 별말씀을^^; ㅋ 걍 제가 느낀 바를 쓴거고 개발자분들의 의도는 저도 잘 모르죠 ㅋㅋ -
정찬명
2010.12.20 15:06
아주 정확하게 잘 설명 해주셨어요. 고맙습니다. ^^ -
likesam.myid.net
2011.01.05 11:27
감사합니다.
바뀐부분을 편하게 알아볼수 있네요.
음 깔끔하내유~