* User ID : leesungmin
* Homepage : https://4880.net
* Email : imadonis@naver.com
* Following : 랩퍼투혼 whom the member is following.
* Following Count : 1people
* Followed by : 랩퍼투혼, 탑돌이 ... now follwing this member.
* Followed Count : 2people

< 빌립보서 4장 13절>
내가 주 안에서 크게 기뻐함은 너희가 나를 생각하던 것이 이제 다시 싹이 남이니 너희가 또한 이를 위하여 생각은 하였으나 기회가 없었느니라 ! 내가 궁핍하므로 말하는 것이 아니니라! 어떠한 형편에든지 나는 자족하기를 배웠노니 나는 비천에 처할 줄도 알고 풍부에 처할 줄도 알아 모든 일 곧 배부름과 배고픔과 풍부와 궁핍에도 처할 줄 아는 일체의 비결을 배웠노라! 내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라 !

* Document Count : 17511
* Comment Count : 82
* Document Count : 36
* Document Count : 115
* Comment Count : 123
* Document Count : 2
* Comment Count : 2
* Document Count : 1
* Comment Count : -1

CMS

  • List
  • Down
  • Up
  • Write
  • Search

XE코어 파일 포함 include

부운영자 부운영자
64 0 0

XE Template Syntax

XE 템플릿 스킨의 HTML 문서 안으로 외부 파일을 불러와 포함시키기 위한 문법이다. 파일 포함 문법에서는 불러 들이고자 하는 외부 파일의 경로 설정을 상대 경로로 표시한다. 즉 HTML 문서의 자신을 기준으로 상대적인 위치의 경로를 이용한다. HTML 문서가 있는 같은 폴더 안의 default.css 파일을 포함한다면 import("default.css")가 된다. 만약 하위 폴더 JS 안에 있는 파일을 포함한다면 import("js/default.js")가 된다. 스킨의 HTML 문서 안에서 작성된 파일 포함 구문은 XE 코어가 자신의 완성된 HTML 문서의 <head>..</head> 영역 안으로 가지고 올라가서 원래의 스크립트 문으로 변환한다. 따라서 포함 여부를 확인하려면 소스보기를 이용해 <head> 블록 안에서 <link rel="stylesheet" type="text/css" href="default.css" />와 같이 목표(Target)가 되는 파일의 이름이 있는지 확인하도록 한다.(import/load 해당)

1. include 문

스킨을 제작할 때 여러 페이지에 걸쳐 반복되는 콘텐츠 블록이 있으면 별도의 파일로 분할하여 관리하는 것이 편리하다. 하나의 파일만 수정하면 여러 페이지에 걸쳐 한 번에 적용할 수 있기 때문이다.

[작성 문법]

<!--#include("header.html")-->
<include target="header.html" />

<include /> 요소는 HTML 표준 요소가 아니지만, HTML 태그의 형식을 빌려 쓰고 있다. include는 별도의 파일을 현재 페이지로 불러오는 PHP문의 include() 명령어와 유사한데 target 속성을 이용해 특정 목적파일을 포함시키는 방법이 다르다.

[변환 형식]

<?php
   print('변환된 파일의 객체 내용');
<?>

포함시키려는 파일의 내용은 TemplateHandler.class.php 함수 라이브러리를 이용해 객체($oTemplate)로 생성된 후 다시 컴파일(compile) 되어 print() 된다. 따라서 아래 import문 처럼 파일을 포함한다는 스크립트를 추가하는 것이 아니고 목적파일의 내용을 가져와 그 (code)를 포함시키는 것이다. PHP문의 include() 함수와 그 기능이 동일하다.

2. import 문

HTML 주석(<!-- -->) 태그와 퍼센트(%) 기호를 혼합하여 외부 파일(CSS, JS, XML JS 필터)을 불러(import/포함)온다. 이때 CSS, JS 파일은 HTML <head> 요소 안에 포함시키지만 XML JS 필터 파일은 <body> 요소가 끝나기 직전에 포함시킨다.(XE 코어 1.4.4 버전 이후 무조건)

  • XML JS 필터 : XML 형식으로 입력 항목을 정의해 두고 폼을 전송할 때 유효성 검사를 자동으로 수행하는 기능 파일, 유효성 검사는 XML 기반으로 자동으로 변환된 자바스크립트가 수행하므로, 사용자는 복잡한 자바스크립트를 작성할 필요가 없다. XML JS 필터는 유효성 검사를 통과한 폼 데이터를 어떤 모듈의 어떤 명령어로 보낼 것인지 정하는 기능도 있다. XE 코어 1.4.4 이전에는 다른 파일과 동일하게 <head> 요소 안에 출력되었지만 1.4.4 이후에는 무조건 <body> 요소가 끝나기 직전에 출력된다.

[작성 문법]

<!--%import(“default.css")--> // head 요소 영역에 포함(CSS 파일)
<!--%import(“default.js")--> // head 요소 영역에 포함(JS 파일)
<!--%import(“xe.xml")--> // <body> 영역 최하단에 포함(XML JS 파일)

 

[변환 형식]

<head>
   <link rel="stylesheet" href="default.css" type="text/css"  charset="UTF-8" media="all" />
   <script type="text/javascript" src="default.js"></script>
</head>

<body>
...

   <script type="text/javascript" src="xe.js"> // <body> 영역 최하단에 출력
</body>

 

3. load 문

XE가 미리 약속해 둔 가상 태그(<load />)를 이용해 작성할 경우 을 추가할 수 있다. load 태그는 HTML에 없는 태그이기 때문에 XE만 사용하는 가상 태그라고 부르는 것이다. 변환 형식의 결과는 import문과 동일하다.

[작성 문법]

<load target="default.css" />
<load target="default.js" />
<load target=“xe.xml" /> // <body> 영역 최하단에 출력하는 것은 동일하다.

① CSS에서의 [media] 속성

<load target="default.css" media="print" />

CSS 파일의 대상이 되는 미디어를 선택하여 지정하게 되면 해당 출력 장치에 대응하여 작동한다. media 속성은 쉼표를 사용하여 여러 개를 지정할 수 있고 없는 경우 기본값은 media="all" 이 되며 다음과 같은 결과를 얻는다.(※ media 속성 값은 [스킨 제작 메뉴얼] p.33 참고)

<link rel="stylesheet" href="default.css" type="text/css" charset="UTF-8" media="print" />

② JS에서의 [type] 속성 : 참조 선언 위치

<load target="default.js" type="body" />

JS 파일을 body 요소 안에 불러오는 경우 type="body" 속성을 추가한다.(기본값은 <head> 요소에 포함된다.) 결과값은 다음과 같다.

<body>
...
   <script type="text/javascript" src="default.js">
</body>

③ 공통 [targetie] 속성 : IE 조건부 주석의 사용

targetie 속성을 사용하면 외부 파일의 참조를 IE의 특정 브라우저 버전에서만 해석할 수 있도록 조건부 주석으로 출력한다. 속성의 이름을 보면 알 수 있듯이 적용을 목표로 하는 타겟(Target)이 익스플로러(IE)이고 을 함께 한다.(Target + IE = targetie) ※ 기본값은 빈 값으로 "적용 안 함"이다.

66

IE 조건부 주석을 사용하는 경우 IE6 버전의 브라우저는 주석으로 처리하지 않고 해석하여 적용한다. 처리 결과는 다음과 같다.

66

④ 공통 [index] 속성 : 참조 선언 순서 변경

<load target=“default.css" index="-1" />
<load target=“default.js" index="-1" />

index 속성을 사용하면 외부 파일의 참조 선언 순서를 변경할 수 있다. index 속성의 값은 양의 정수 또는 음의 정수를 사용할 수 있으며, 음의 정수를 사용하면 더 빨리 선언할 수 있고, 양의 정수를 사용하면 더 늦게 선언할 수 있다. index="-1" 값을 지정하면 다른 CSS 파일보다 한 줄 빠른 위치에서 선언된다. CSS 파일은 동일한 명령이 충돌하는 경우 나중에 선언된 값이 우선순위를 갖기 때문에 우선순위를 높게 두어야 하는 경우 나중에 선언하는 것이 좋다.

※ unload 문

unload문은 load 문과 반대로 경로가 일치하는 CSS, JS, XML JS 필터의 파일 포함을 제외시키는 명령어이다. 하지만 사용되는 예가 없고 사용할 일도 거의 없는것 같다...^^

부운영자 부운영자
93 Lv. 785830/795240P

< 빌립보서 4장 13절>
내가 주 안에서 크게 기뻐함은 너희가 나를 생각하던 것이 이제 다시 싹이 남이니 너희가 또한 이를 위하여 생각은 하였으나 기회가 없었느니라 ! 내가 궁핍하므로 말하는 것이 아니니라! 어떠한 형편에든지 나는 자족하기를 배웠노니 나는 비천에 처할 줄도 알고 풍부에 처할 줄도 알아 모든 일 곧 배부름과 배고픔과 풍부와 궁핍에도 처할 줄 아는 일체의 비결을 배웠노라! 내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라 !

ReportShareScrap

Comment 0

Comment Write
WYSIWYG

Report

"님의 댓글"

Are you sure you want to report this comment?

Comment Delete

"님의 댓글"

I want to Are you sure you want to delete?

Share

Permalink
  • Module Admin Controller for Delete 모듈 삭제와 컨트롤러(Controller) 모듈(mid)의 삭제는 모듈의 고유 식별 번호($module_srl)을 확인하고 module 테이블에서 해당 식별 번호를 삭제하는 것으로 끝난다. 여기에서...
  • Module Admin Controller for Insert/Update 모듈 입력/수정과 컨트롤러(Controller) 예제로 만들고 있는 example 모듈에서 새로운 모듈(mid)을 추가하고 수정할 수 있는 액션과 그에 따른 진행 과정을 그린 설계도이...
  • 모듈 확장과 모델(Model) 관리자를 위한 백 엔드 뷰(View)가 실행되면 관리자-인덱스로 설정했던 dispExampleAdminList 액션이 작동하고 그 진행과정을 설명한 그림이다. 또한 앞으로 만들게 될 관리자 목록 보기를 ...
  • Front and back ends 프론트 엔드(front-end)와 백 엔드(back-end)는, 사용자가 접근하는 영역을 말하는데 이때 사용자는 사람이 아닌 프로그램이 될 수도 있다. 예를 들어 컴퓨터 OS의 그래픽 파일 관리자는 컴퓨터...
  • MVC 구조의 이해
    부운영자 Views 68 20.08.13.14:45
    Model-View-Controller XE Core는 모델-뷰-컨트롤러(Model-View-Controller) 개발 패턴에 기반한다. 이것을 줄여서 MVC 구조라고 말한다. 소프트웨어 공학에서 프로그램의 설계는 건축(architecture)과 같다. 시스템...
  • 폼(form)과 DB
    부운영자 Views 139 20.08.13.14:41
    Form & DB XE 모듈을 이해하기 위한 기초 과정으로 폼(form)의 동작 방식을 살펴보자. 모듈은 결론적으로 폼과 DB의 관계이다. 모듈은 자신이 관리하는 테이블을 한두개 이상 가지고 있고 이것을 다루기 위해 폼을 사...
  • XE의 URL 규칙
    부운영자 Views 94 20.08.13.14:40
    URLs on XE XE에서 생성한 URL 은 깔끔하고 검색엔진에서 색인되기 좋은 구조이다. XE는 일반적인 쿼리스트링 기반의 URL이 아니라 세그먼트 기반의 URL을 사용한다. 쿼리스트링(Query string) URL이란, 다음과 같이 ...
  • 모듈의 기본 이해
    부운영자 Views 26 20.08.13.14:37
    The Story of XE Modules XE코어의 모듈 이야기... 1. 백엔드 어드민(Admin) 뷰(View) 구현을 위한 example 모듈 만들기 2. 프론트 엔드 뷰(View) 구현을 위한 BOOK 모듈 만들기 3. v1.5 룰셋(ruleset)과 BOOKMARK 모...
  • XE 모듈
    부운영자 Views 19 20.08.13.14:35
    The Story of XE Modules XE코어의 모듈 이야기... 1. 백엔드 어드민(Admin) 뷰(View) 구현을 위한 example 모듈 만들기 2. 프론트 엔드 뷰(View) 구현을 위한 BOOK 모듈 만들기 3. v1.5 룰셋(ruleset)과 BOOKMARK 모...
  • 반복문 loop
    부운영자 Views 45 20.08.13.00:44
    XE Template Syntax 반복문 loop 주어진 조건에 따라 필요한 내용을 반복해서 출력해야 할 때 반복문(루프/loop)을 사용한다. 1. 반복문의 이해 반복문은 컴퓨터가 만들어지면서 가장 먼저 시도된 증조 할아버지뻘 되...
  • 조건문 IF
    부운영자 Views 38 20.08.13.00:42
    XE Template Syntax 주어진 조건에 따라 필요한 내용을 문맥에 알맞게 출력하거나 배제할 때 조건문을 사용한다. 1. IF 문 IF 조건문은 PHP의 IF 조건문과 동일하고 "if, elseif, else, end"와 "조건식"으로 이루어져...
  • 파일 포함 include
    부운영자 Views 64 20.08.13.00:41
    XE Template Syntax XE 템플릿 스킨의 HTML 문서 안으로 외부 파일을 불러와 포함시키기 위한 문법이다. 파일 포함 문법에서는 불러 들이고자 하는 외부 파일의 경로 설정을 상대 경로로 표시한다. 즉 HTML 문서의 자...
  • 기본 문법 default
    부운영자 Views 81 20.08.13.00:40
    XE Template Syntax 1. 변수 PHP에서 변수를 다루는 것과 동일한 방법으로 XE 템플릿 안에서 변수를 정의하고 출력할 수 있다. 변수를 나타내는 문자열 앞에는 달러($) 기호를 붙여 사용하며 변수명은 대소문자를 구...
  • XE 템플릿 문법의 이해
    XE Template Syntax 템플릿(template)이란 붕어빵을 만드는 틀로 비유된다. 같은 모양, 같은 크기의 객체(object)를 만들기 쉽다. 프로그래밍 언어에서 템플릿 구문은 초등학교 시절의 플라스틱 모형자를 생각하면 이...
  • logged_info
    부운영자 Views 118 20.08.13.00:37
    $logged_info XE에 접근하면 XE는 항상 방문자의 로그인 여부를 우선 먼저 확인하게 된다. 이때 사용하는 변수가 $is_logged 와 $logged_info 이다. Context.class.php 파일 137라인을 참고해 보면 member 모듈의 mem...
  • getUrl()
    부운영자 Views 157 20.08.13.00:34
    getUrl() XE 레이아웃에 많이 쓰이는 getUrl() 함수이다. "getUrl()은 현재 요청된 RequestURI에 주어진 인자의 값으로 변형하여 url을 리턴한다."고 설명되어 있다. 또한 인자는 (key, value)... 의 형식으로 주어져...
  • Context.class.php
    부운영자 Views 97 20.08.13.00:30
    요청 인자(request arguments), 환경 변수(environment variables)와 같은 모든 컨텍스트(Context)를 관리 Context::methodname()로 호출할 수도 있고 정적 객체로도 호출할 수 있는 사용하기 쉬운 이중 방식 구조를 ...
  • Object.class.php
    부운영자 Views 68 20.08.13.00:29
    XE 모듈 사이의 객체 인스턴스를 전달하는 기본 클래스(데이터를 주고 받기 위한 클래스) 모든 모듈은 객체(Object)를 상속한다. 객체(Object)의 error, message, variables 를 이용하여 통신을 하게 된다 Object 함...
  • 함수라이브러리 func.inc.php
    clone($object) iconv($in_charset, $out_charset, $str) &getModule($module_name, $type = 'view', $kind = '') &getController($module_name) &getAdminController($module_name) &getView($module_name) &getMobi...
  • 환경설정 config.inc.php
    XE의 버전 및 개발자용 디버깅 설정이 저장된 파일 XE가 기본적으로 사용하는 함수라이브러리 func.inc.php 파일과 클래스(class)파일을 시작페이지 index.php 파일로 가져간다 define('ZBXE_VERSION', '1.4.5.7'); X...