스킨 제작 프로젝트 - Step3. 스킨 제작
아래 내용을 다 읽으신 후, 첨부파일 두 개 받으셔서 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 문
활용 예는 다음과 같다.
<!--@foreach($변수 as $key => $val)-->
{$val->title} <br />
<!--@end-->
4. 템플릿 파일 내에서 변수를 선언.
$변수명에 1234라는 값을 선언한다.
복잡해지는 코드를 간략히 하기 위해 사용하기도 한다.
5. 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 }
와 같이 변수값을 정의할 때 사용된다.
네..어렵죠? 위 내용들을 마스터 하길 바라는 것 보다는
다음회에 비슷한 모양이 나올 때 덜 생소하게 하기 위함이 목적이랍니다.^^;
좋은 정보 감사드리구요
레이아웃을 직접 만드시는 분께는 강추합니다.
응용단계에서 많은 빛을 발하더군요.
로고의 간소화 와 이전에는 못했던 기능들까지 실려있는 이팁^^;
정말 좋습니다~~~~
예약어가 아니고
{뒤에 @가 없을 때는 <?= ?>= ?>와 같은 기능입니다.
변수 뿐만 아니라 함수도 사용이 가능합니다.
{$echo}는
{echo $echo} 와 같은 결과를 나타냅니다.
{time()} 과 같이 함수를 사용하여 바로 결과를 표시할 수 있습니다.
요번 전 강좌까지는 한번 보고 따라 새보면서 감이 왔는데...
이번강좌는 먼가 꽊막혀있는듯한 느낌이 ㅠ.ㅠ
알수록 어려워지는건가...
그리고 다른 함수도 많이 알고싶은데 어떻게 해야되나요?ㅎ
"아야어디가"님.수고하셨습니다.





