Dreamweaver 템플릿 정보

마지막 업데이트 날짜 2021년 4월 27일

Dreamweaver 템플릿을 사용하여 “고정된” 페이지 레이아웃을 디자인한 다음 해당 페이지 레이아웃을 상속하는 템플릿을 기반으로 문서를 작성하는 방법을 살펴봅니다.

템플릿은 "고정된" 페이지 레이아웃을 디자인하는 데 사용하는 특수한 유형의 문서입니다. 그런 다음 템플릿을 기반으로 해당 페이지 레이아웃을 상속받는 문서를 만들 수 있습니다.템플릿을 디자인할 때 해당 템플릿을 기반으로 하는 문서에서 사용자가 편집할 수 있는 콘텐츠를 "편집 가능"으로 지정합니다. 템플릿을 사용하면 템플릿 작성자가 템플릿 사용자(작가, 그래픽 아티스트 또는 기타 웹 개발자 등)가 편집할 수 있는 페이지 요소를 제어할 수 있습니다. 템플릿 작성자가 문서에 포함할 수 있는 템플릿 영역 유형은 여러 가지가 있습니다.

메모

템플릿을 사용하면 넓은 디자인 영역을 제어하고 완전한 레이아웃을 재사용할 수 있습니다. 사이트의 저작권 정보나 로고와 같은 개별 디자인 요소를 재사용하려면 라이브러리 항목을 만드세요.

템플릿을 사용하면 한 번에 여러 페이지를 업데이트할 수 있습니다. 템플릿에서 만든 문서는 해당 템플릿에 연결된 상태로 유지됩니다(나중에 문서 연결을 해제하지 않는 한). 템플릿을 수정하여 해당 템플릿을 기반으로 하는 모든 문서의 디자인을 즉시 업데이트할 수 있습니다.

메모

Dreamweaver의 템플릿은 Dreamweaver 템플릿의 페이지 섹션이 기본적으로 고정되어 편집할 수 없다는 점에서 기타 Adobe Creative Cloud 소프트웨어의 템플릿과 구분됩니다.

템플릿 영역의 유형

문서를 템플릿으로 저장하면 대부분의 문서 영역이 잠깁니다. 템플릿 제작자는 템플릿에 편집 가능 영역 또는 편집 가능 매개 변수를 삽입함으로써 템플릿에 기반한 문서의 편집 가능 영역을 지정할 수 있습니다.

제작자는 템플릿을 만들 때 편집 가능 영역과 잠긴 영역 모두를 변경할 수 있습니다. 그러나 템플릿 사용자는 템플릿에 기반한 문서에서 편집 가능 영역의 내용만 변경할 수 있고 잠긴 영역은 수정할 수 없습니다.

템플릿 영역에는 네 가지 유형이 있습니다.

편집 가능 영역: 템플릿 기반 문서에서 잠기지 않은 영역으로, 템플릿 사용자가 편집할 수 있는 부분입니다. 템플릿 제작자는 템플릿의 모든 영역을 편집 가능 영역으로 지정할 수 있습니다. 템플릿을 효과적으로 사용하려면 적어도 하나의 편집 가능 영역이 있어야 합니다. 그렇지 않으면 템플릿에 기반한 페이지를 편집할 수 없습니다. 편집 가능 영역에 대한 자세한 내용은 템플릿에서 편집 가능 영역 만들기를 참조하십시오.

반복 영역: 템플릿 사용자가 필요에 따라 템플릿을 기반으로 문서에서 반복 영역의 사본을 복사 또는 삭제할 수 있도록 설정된 문서 레이아웃 부분입니다. 예를 들어 표 행이 반복되도록 설정할 수 있습니다. 반복되는 부분은 템플릿 사용자가 반복 요소의 내용을 편집할 수 있도록 편집이 가능하지만 디자인 자체는 템플릿 제작자가 제어합니다.

템플릿에 삽입할 수 있는 두 가지 반복 영역 유형으로는 반복 영역과 반복 표가 있습니다. 반복 영역으로 작업하는 방법은 Dreamweaver에서 반복 영역 및 표 만들기를 참조하십시오.

옵션 영역: 문서에 표시되거나 표시되지 않을 수 있는 텍스트나 이미지와 같은 내용을 포함하는 템플릿 부분입니다. 템플릿 기반 페이지에서 템플릿 사용자는 대개 내용의 표시 여부를 제어합니다. 자세한 내용은 옵션 영역 섹션을 참조하십시오.

편집 가능 태그 속성: 템플릿에 기반한 페이지에서 속성을 편집할 수 있도록 템플릿의 태그 속성을 잠금 해제하는 데 사용합니다. 예를 들어 문서에 표시할 이미지는 “잠그고”, 정렬 방식은 템플릿 사용자가 왼쪽, 오른쪽 또는 가운데 중에서 설정하도록 할 수 있습니다. 자세한 내용은 Dreamweaver에서 편집 가능 태그 속성 정의를 참조하십시오.

기존 페이지를 템플릿으로 저장하여 템플릿 파일을 만들면 새 템플릿이 Templates 폴더에 생성되고, 파일의 모든 링크가 문서 상대 경로가 올바르도록 업데이트됩니다. 나중에 해당 템플릿을 기반으로 문서를 만들어 저장하면 모든 문서 상대 링크가 다시 업데이트되어 올바른 파일을 계속 가리키게 됩니다.

템플릿 파일에 새로운 문서 상대 링크를 추가할 때 Property inspector의 링크 텍스트 상자에 경로를 입력하면 잘못된 경로 이름을 입력하기 쉽습니다. 템플릿 파일에서 올바른 경로는 Templates 폴더에서 링크된 문서까지의 경로이며, 템플릿 기반 문서의 폴더에서 링크된 문서까지의 경로가 아닙니다. 템플릿에서 링크를 만들 때 Property inspector의 폴더 아이콘이나 Point-to-file 아이콘을 사용하여 링크의 올바른 경로가 존재하는지 확인하세요.

템플릿 및 템플릿 기반 문서의 서버 스크립트

일부 서버 스크립트는 문서의 맨 처음이나 끝(<html> 태그 앞이나 </html> 태그 뒤)에 삽입됩니다. 이러한 스크립트는 템플릿 및 템플릿 기반 문서에서 특별한 처리가 필요합니다. 일반적으로 템플릿에서 <html> 태그 앞이나 </html> 태그 뒤의 스크립트 코드를 변경하면 해당 템플릿을 기반으로 하는 문서에는 변경 사항이 복사되지 않습니다. 템플릿의 본문 내에 있는 다른 서버 스크립트가 복사되지 않은 스크립트에 의존하는 경우 서버 오류가 발생할 수 있습니다. 템플릿에서 <html> 태그 앞이나 </html> 태그 뒤의 스크립트를 변경하면 경고가 표시됩니다.

이 문제를 방지하려면 템플릿의 head 섹션에 다음 코드를 삽입하세요:

<!-- TemplateInfo codeOutsideHTMLIsLocked="true" -->

이 코드가 템플릿에 있으면 <html> 태그 앞이나 </html> 태그 뒤의 스크립트 변경 사항이 해당 템플릿을 기반으로 하는 문서에 복사됩니다. 하지만 더 이상 템플릿을 기반으로 하는 문서에서는 해당 스크립트를 편집할 수 없게 됩니다. 따라서 이러한 스크립트를 템플릿에서 편집하거나 템플릿을 기반으로 하는 문서에서 편집할 수는 있지만 둘 다에서 편집할 수는 없습니다.

템플릿 매개 변수

템플릿 매개변수는 템플릿을 기반으로 하는 문서의 콘텐츠를 제어하는 값을 나타냅니다. 선택적 지역이나 편집 가능한 태그 속성에 템플릿 매개변수를 사용하거나 첨부된 문서에 전달하려는 값을 설정하세요. 각 매개변수에 대해 이름, 데이터 유형 및 기본값을 선택합니다. 각 매개변수는 대소문자 구분하는 고유한 이름을 가져야 합니다. 허용된 다섯 가지 데이터 유형(텍스트, 부울, 색상, URL 또는 숫자) 중 하나여야 합니다.

템플릿 매개 변수는 문서에 인스턴스 매개 변수로 전달됩니다. 대부분의 경우 템플릿 사용자는 매개변수의 기본값을 편집하여 템플릿 기반 문서에 표시되는 내용을 맞춤 설정할 수 있습니다. 다른 경우에는 템플릿 작성자가 템플릿 표현식의 값에 따라 문서에 표시되는 내용을 결정할 수 있습니다.

템플릿 표현식

템플릿 표현식은 값을 계산하거나 평가하는 명령문입니다.

표현식을 사용하여 값을 저장하고 문서에 표시할 수 있습니다. 예를 들어, 표현식은 @@(Param)@@와 같은 매개변수 값처럼 간단하거나 @@((_index & 1) ? 와 같이 테이블 행의 배경색을 번갈아 가며 계산하는 값처럼 복잡할 수 있습니다. red : blue)@@)이 될 수 있습니다.

if 및 다중 if 조건에 대한 표현식을 정의할 수도 있습니다. 조건문에 표현식을 사용하면 Dreamweaver에서 표현식을 true 또는 false로 평가합니다. 조건이 참이면 선택적 지역이 템플릿 기반 문서에 나타나고, 거짓이면 나타나지 않습니다.

선택적 지역을 삽입할 때 코드 보기 또는 [선택적 지역] 대화상자에서 표현식을 정의할 수 있습니다.

코드 보기에서는 템플릿 표현식을 정의하는 두 가지 방법이 있습니다: <!-- TemplateExpr expr=&quot;your expresson&quot;--> 주석을 사용하거나 @@(your expression)@@를 사용합니다.템플릿 코드에 표현식을 삽입하면 디자인 보기에 표현식 마커가 나타납니다. 템플릿을 적용하면 Dreamweaver가 표현식을 평가하고 템플릿 기반 문서에 값을 표시합니다.

템플릿 표현식 언어

템플릿 표현식 언어는 JavaScript의 작은 하위 집합으로 JavaScript 구문과 우선 순위 규칙을 사용합니다. 다음과 같은 표현식을 작성하려면 JavaScript 연산자를 사용하세요:

@@(firstName+lastName)@@

사용할 수 있는 기능 및 연산자는 다음과 같습니다.

  • 숫자 리터럴, 문자열 리터럴(이중 따옴표 구문만 해당), 부울 리터럴(true 또는 false)

  • 변수 참조(이 섹션 뒷부분의 정의된 변수 목록 참조)

  • 필드 참조(“도트” 연산자)

  • 단항 연산자: +, -, ~, !

  • 이진 연산자: +, -, *, /, %, &, |, ^, &&, ||, <, <=, >, >=, ==, !=, <<, >>

  • 조건 연산자: ?:

  • 괄호: ()

    다음 데이터 형식을 사용합니다: Boolean, IEEE 64비트 부동 소수점, 문자열 및 오브젝트.Dreamweaver 템플릿은 JavaScript "null" 또는 "undefined" 유형의 사용을 지원하지 않습니다. 또한 스칼라 유형을 객체로 암시적으로 변환하는 것도 허용하지 않습니다. 따라서 "abc".length 표현식은 값 3을 산출하는 대신 오류를 발생시킵니다.

    사용 가능한 객체는 표현식 객체 모델에 의해 정의된 객체뿐입니다. 다음 변수가 정의됩니다:

    _document

    템플릿의 각 매개변수에 대한 필드가 있는 문서 수준 템플릿 데이터를 포함합니다.

    _repeat

    반복 지역 내에 나타나는 식에 대해서만 정의됩니다.영역에 대한 내장 정보를 제공합니다.

    _index

    현재 항목의 숫자 인덱스(0부터 시작)입니다.

    _numRows

    해당 반복 영역에 있는 전체 항목 수입니다.

    _isFirst

    현재 항목이 반복 지역의 첫 번째 항목인 경우 참입니다

    _isLast

    현재 항목이 반복 지역의 마지막 항목인 경우 참입니다

    _prevRecord

    이전 항목에 대한 _repeat 오브젝트입니다. 지역의 첫 번째 항목에 대해 이 속성에 액세스하는 것은 오류입니다.

    _nextRecord

    다음 항목에 대한 _repeat 오브젝트입니다. 지역의 마지막 항목에 대해 이 속성에 액세스하는 것은 오류입니다.

    _parent

    중첩된 반복 지역에서 이것은 둘러싸는(외부) 반복 지역에 대한 _repeat 오브젝트를 반환합니다.중첩된 반복 지역 밖에서 이 속성에 액세스하는 것은 오류입니다.

    식 평가 중에 _document 객체와 _repeat 객체의 모든 필드는 암시적으로 사용할 수 있습니다.예를 들어, 문서의 제목 매개변수에 액세스하기 위해 _document.title 대신 title을 입력할 수 있습니다.

    필드 충돌이 있는 경우 _repeat 객체의 필드가 _document 객체의 필드보다 우선합니다.따라서 반복 지역 매개변수에 의해 숨겨진 문서 매개변수를 참조하기 위해 반복 지역 내에서 _document가 필요할 수 있다는 점을 제외하고는 _document 또는 _repeat를 명시적으로 참조할 필요가 없습니다.

    중첩된 반복 지역을 사용할 때는 가장 안쪽 반복 지역의 필드만 암시적으로 사용할 수 있습니다.바깥쪽 영역은 _parent를 사용하여 명시적으로 참조되어야 합니다.

템플릿 코드의 다중 If 조건

if 및 다중 if 조건에 대한 템플릿 식을 정의할 수 있습니다.이 예제는 "Dept"라는 매개변수를 정의하고, 초기값을 설정하며, 표시할 로고를 결정하는 다중 if 조건을 정의하는 방법을 보여줍니다.

다음은 템플릿의 head 섹션에 입력할 수 있는 코드의 예입니다:

<!-- TemplateParam name="Dept" type="number" value="1" -->

다음 조건문은 Dept 매개변수에 할당된 값을 확인합니다.조건이 참이거나 일치할 때 적절한 이미지가 표시됩니다.

<!-- TemplateBeginMultipleIf -->

<!-- Dept 값을 확인하고 적절한 이미지를 표시합니다 -->

<!-- TemplateBeginIfClause cond="Dept == 1" --> <img src=".../sales.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateBeginIfClause cond="Dept == 2" --> <img src=".../support.gif"> <!-- TemplateEndIfClause-->

<!-- TemplateBeginIfClause cond="Dept == 3" --> <img src=".../hr.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateBeginIfClause cond="Dept != 3" --> <img src=".../spacer.gif"> <!-- TemplateEndIfClause -->

<!-- TemplateEndMultipleIf -->

템플릿 기반 문서를 만들 때 템플릿 매개변수가 자동으로 전달됩니다.템플릿 사용자가 표시할 이미지를 결정합니다.