아래 내용을 다 읽으신 후, 첨부파일 두 개 받으셔서 layout.html 파일의 내용을 보시면 따라하실 내용이 있습니다.

잘 따라오시다가 이번 글에서 어려움을 겪는 분들이 많으셔서 미리 적습니다.
아래 내용은 ZBXE 레이아웃을 작성하는 데 있어 꼭 알아야 할 사항이기는 하지만 한 번에 모두 익히지 않으셔도 됩니다. 레이아웃 천천히 연습하면서 만들다보면 금방 익숙해질 내용들이라고 생각하시면 됩니다.

도배네요;;; ㅈㅅ합니다. 시간 있을 때 빨리 할려고.. 포인트도 올리고 싶습니다;;ㅎ

ZBXE 템플릿 문법

- zbxe의 템플릿에 대한 체계적인 문법을 알지 못해 제로님이 zb5에서 작성 하셨던 smarty 문법 내용을 기초로
작성하였습니다. zbxe 템플릿 문법에 대해 제로님이 작성하신 걸 클베 때 본 것 같기도한데 찾을 수가 없네요;
아는 내용만 적은거라 누락된 부분이 많을 듯 합니다.


원본글 : http://beta.zb5.zeroboard.com/?sid=26&article_srl=396
참조글 : http://spring.zeroboard.com/57601

1. 변수의 출력과 이용

레이아웃에 변수를 출력하기 위해서 {$변수명} 을 이용한다.
php와 비슷하게 이름 앞에 $ 를 붙이면 변수를 의미하게 된다.
if, foreach등의 문법 안에서는 그냥 $변수명 을 하면 되지만 출력을 위해서는 앞 뒤로 {, } 로 감싸주면 된다.
 
<div>{$home_title}</div>


 

2. if 문

변수의 값에 따른 제어를 할 수가 있다.
php와 동일하게 <!--@if 조건-->, <!--@elseif 조건-->, <!--@else--> 등의 문법을 이용할 수 있으며 끝나는 부분에서는
꼭 <!--@end-->를 사용해 주어야 한다.
 
<!--@if($is_logged)-->
로그인 되어 있네요.
<!--@else-->
로그인 안 되어 있네요.
<!--@end-->
 
위와 같이 사용할 수 있다.
물론 조건문 안에서는 '(' 와 ')' 를 이용한 조건문 묶기와 and, or 또는 &&, || 의 사용이 가능하다


 
3. foreach 문

배열 또는 object list로 되어 있는 변수, 예를 들어 게시물 목록과 같은 변수를 loop를 돌면서 출력하기 위해 사용된다.
활용 예는 다음과 같다.
 
<!--@foreach($변수 as $key => $val)-->
{$val->title} <br />
<!--@end-->


 
4. 템플릿 파일 내에서 변수를 선언.
 

{@  $변수명 = "1234"  }
 
$변수명에 1234라는 값을 선언한다.
복잡해지는 코드를 간략히 하기 위해 사용하기도 한다.


5. include 문

<!--#include(파일명)-->
<!--#include('파일명')-->
<!--#include("파일명")-->
include된 파일에서도 layout.html에 사용되는 변수를 아무 설정없이 사용이 가능합니다.
위 세가지 다 가능하네요..


6. 주석 처리

<!-- 주석내용 -->
html 주석코드를 그대로 사용한다.


7. 예약어
 

zbxe에서 <!--@, <!--#, <!--%, {$.. , {@.. 등과 같이 주석비슷하게 생긴 것들은 예약어 이며 기능을 가지고 있습니다.

<!--@ 예약어는
<!--@if(조건문)--><!--@end--><!--@foreach()--><!--@end-->
등과 같이 if문이나 foreach문에 사용된다.

<!--# 예약어는
<!--#include(test.html)-->와 같이 인클루드 문에 사용된다.

<!--% 예약어는
<!--%import("./a.css")--><!--%import("./a.js")-->
등과 같이  css, js 파일을 저 예약어로 지정하시면 <head>..</head>사이에 링크를 자동으로 걸게 됩니다.

{$.. 예약어는
{$content}
와 같이 변수 출력할 때 사용된다.

{@.. 예약어는
{@ $a = 123 }
와 같이 변수값을 정의할 때 사용된다.