레이아웃용 페이지 요소 태그
레이아웃 템플릿의
<body>
은 주로 섹션 및 위젯으로 구성되어 있습니다. 섹션은 메뉴, 바닥글 등으로 페이지의 영역을 표시해 줍니다. 위젯이란 사진, blogroll 또는 페이지 요소 탭에서 추가할 수 있는 개별적인 페이지 요소를 말합니다. 템플릿의 섹션에 있는 마음에 드는 HTML을 포함할 수 있습니다.
템플릿의 각 섹션에는 다음과 같은 모양의 여는 태그와 닫는 태그가 있습니다.
<b:section id='header' class='header' maxwidgets="1" showaddelement="no">
</b:section>
<b:section>
태그는 다음과 같은 속성을 가집니다.- id - (필수) 문자와 숫자로만 된 고유한 이름입니다.
- class - (선택사항) 일반적인 클래스 이름으로 'Navbar', ''header', ''main', 'sidebar', ''footer' 등이 있습니다. 나중에 템플릿을 전환할 때 이 클래스 이름은 Blogger에서 사용자의 콘텐츠를 이전하는 최선의 방법을 결정하는 데 도움이 됩니다. 하지만 원할 경우 다른 이름을 사용할 수 있습니다.
- maxwidget - (선택사항) 섹션에서 허용되는 최대 위젯 개수입니다. 한계를 지정하지 않고 사용할 수도 있습니다.
- showaddelement - (선택사항) 'yes' 또는 'no'가 될 수 있으며 기본은 'yes'입니다. 페이지 요소 탭에서 섹션의 '페이지 요소 추가' 링크를 표시할지 여부를 결정합니다.
- growth - (선택사항) 'horizontal' 및 'vertical'이 될 수 있으며 기본은 'vertical'입니다. 섹션 내의 위젯을 가로로 정렬할지 세로로 정렬할지 여부를 결정합니다.
위젯은 가장 단순한 형태로는 하나의 태그로 표시될 수 있으며, 이것은 기본적으로 페이지 요소 탭에서 위젯이 처리되는 방식을 나타내는 자리 표시자입니다. 주어진 위젯에 대한 실제 데이터는 Blogger 데이터베이스에 저장되며, 위젯을 표시해야 하는 경우에만 액세스할 수 있습니다. 다음은 위젯의 예(페이지 헤더 및 목록용)입니다.
<b:widget id="header" type='HeaderView' locked="yes"/>
<b:widget id="myList" type='ListView' locked="no" title="My Favorite Things"/>
<b:widget id=”BlogArchive1” locked=”false” mobile=”yes” title=”Blog Archive” type=”BlogArchive”/>
위젯은 다음과 같은 속성을 가집니다.
- id - (필수) 문자와 숫자만 포함하며, 템플릿에 있는 각 위젯 ID는 고유해야 합니다. 위젯 ID는 위젯을 삭제하고 새로 만들지 않는 한 변경될 수 없습니다.
- type - (필수) 위젯이 어떤 종류인지 나타내며, 아래 나열된 올바른 위젯 유형 중 한 가지여야 합니다.
- locked - (선택사항) 'yes' 또는 'no'가 될 수 있으며 기본은 'yes'입니다. 잠긴 위젯은 페이지 요소 탭에서 이동 또는 삭제할 수 없습니다.
- title - (선택사항) 위젯의 표시 제목입니다. 별도로 지정하지 않으면 'List1' 등의 기본 제목이 사용됩니다.
- pageType - (선택사항) ''all', 'archive', 'main' 또는 'item'이 될 수 있으며 기본은 'all'입니다. 위젯은 블로그의 지정된 페이지에만 표시됩니다. (모든 위젯은 pageType과 관계 없이 페이지 요소 탭에 표시됩니다.)
- mobile - (선택사항) 'yes', 'no' 또는 ‘only’가 될 수 있으며 기본값은 'default'입니다. 위젯을 모바일에 표시할지 여부를 결정합니다. 모바일 속성이 'default'인 경우, 헤더, 블로그, 프로필, PageList, 애드센스, 저작자 만이 모바일에 표시됩니다.
- BlogArchive
- Blog
- Feed
- Header
- HTML
- SingleImage
- LinkList
- List
- Logo
- BlogProfile
- Navbar
- VideoBar
- NewsBar
각 위젯은 확장된 양식에서도 작성할 수 있으며, 해당 위젯에 대한 전체 레이아웃 및 콘텐츠를 세부적으로 나타낼 수 있습니다. 예를 들어 백업을 만들기 위해 HTML 수정 탭에서 템플릿을 다운로드할 경우 다음과 같이 표시됩니다. 페이지 요소 탭에서 위젯을 수정하는 것이 더 간편하기 때문에, 대개 이 모드에서 위젯으로 작업할 필요는 없습니다. 하지만 자세히 알아보고 싶다면 Widget 태그 세부사항을 참조하시기 바랍니다.
참고: 게시된 블로그에서 모든
<b:section>
및 <b:widget>
태그는 <div>
태그로 바뀌어 지정된 ID를 갖게 됩니다. 원하는 경우 예를 들어 CSS에 있는 div#header
또는 div#myList
를 참조할 수 있습니다.레이아웃용 Widget 태그
도구작성을 위한 기본
<b:widget>
태그는 레이아웃용 페이지 요소 태그에 설명되어 있습니다. '페이지 요소' 탭에서만 원하는 항목을 사용하려면 '페이지 요소' 탭에 대해서만 알면 됩니다. 그러나 보다 세밀한 제어를 원할 경우 본 문서에서는 HTML 수정 페이지의 '도구 템플릿 확장' 모드에서 작업할 때 도구에 삽입할 수 있는 항목에 대해서 설명합니다.
우선 해야 할 일은 닫는 태그를 추가하는 것입니다. 그러면
태그가 다음과 같이 됩니다.
<b:widget [...속성...] />
태그가 다음과 같이 됩니다.
<b:widget [...attributes...]>
</b:widget>
이제 첫 번째 단계는 끝났으므로 해당 태그들 사이에 넣을 수 있는 항목에 대해서 알아보도록 합니다..
Includes
도구 콘텐츠는 "includable" 섹션에 들어 있으며, 다음과 같은 형식을 사용합니다.
<b:includable id='main' var='thiswidget'>
[원하는 콘텐츠를 여기에 삽입]
</b:includable>
속성은 다음과 같습니다.
- id: (필수) 문자와 숫자로 이루어진 고유한 식별자입니다.
- var: (선택) 문자와 숫자로 이루어진 식별자로 해당 섹션의 데이터를 참조하는 데 사용됩니다. 아래 데이터 섹션을 참조하십시오.
각 도구에는
id='main'
인 includable 태그가 하나 있어야 합니다. 여기에는 대개 해당 도구에 대해 표시되는 콘텐츠의 대부분 또는 모두가 포함되며, 많은 경우에 includable 태그만 필요합니다.
다른 ID로 includable 태그를 더 많이 만들면 이러한 includable 태그는 자동으로 표시되지 않습니다.
id='new'
인 includable 태그를 만들면 <b:include name='new' />
인 기본 includable 태그에서 참조할 수 있으며 해당 방식에 따라 표시됩니다.b:include
태그의 속성은 다음과 같습니다.- name: (필수) 문자와 숫자로 이루어진 식별자입니다. 동일한 도구에서 기존
b:includable
의 ID와 일치해야 합니다. - data: (선택) includable 섹션으로 전달할 수 있는 식이나 데이터 조각입니다. Includable 태그의
var
속성 값이 됩니다.
다음은
b:includable
와(과) b:include
을(를) 사용하는 방법을 보여 주는 간단한 예입니다. 반복 및 데이터는 해당 문서의 뒷부분에 설명되어 있습니다. 여기서 반드시 이해해야 할 점은 '기본' 섹션에 '게시물' 섹션이 포함되는 방식입니다. 'i'라는 게시물과 함께 해당 게시물을 변수 "p"로 참조하는 포함된 섹션을 전달하고 제목을 인쇄합니다.<b:includable id='main'>
<b:loop var='i' values='posts'>
<b:include name='post' data='i'/>
</b:loop>
</b:includable>
<b:includable id='post' var='p'>
Title: <data:p.title/>
</b:includable>
여러 위치에서 여러 번 반복하려는 코드 섹션이 있는 경우 포함은 매우 유용합니다. 코드를 한 번만 작성하고
b:includable
에 삽입한 후 해당 포함을 표시하려는 모든 위치에 b:include
를 사용하면 됩니다. 여러 번 반복하지 않는 경우에는 기본 includable 섹션만 사용하고 나머지는 신경쓰지 않아도 됩니다. 기본 includable 태그는 자동으로 포함되므로 <b:include name='main'/>
가 필요하지 않습니다.Data
data:
태그는 실제 콘텐츠를 모두 가져오는 섹션이 되기 때문에 거의 틀림없이 가장 중요한 태그 중 하나일 것입니다. data 태그의 몇 가지 예:<data:title/>
or
<data:photo.url/>
첫 번째 예는 가장 간단하며, 대부분의 도구에 제목이 있기 때문에 대부분의 도구에서 해당 기능을 수행합니다. 이 태그의 역할은 도구의 제목을 인쇄하는 것입니다. 두 번째 예는 특정 구성요소를 선택할 수 있는 좀 더 복잡한 변수를 나타냅니다. 예를 들어,
photo
가 프로필 도구 맥락에서 사용될 경우 url
, height
및 width
와 같은 구성요소를 포함할 수 있습니다. "." 기호를 사용하면 다른 항목의 URL이 아닌 해당 사진의 URL이 필요함을 나타냅니다.data:
태그로 사용할 수 있는 데이터의 양은 많지만 어떤 도구에서 작업하고 있는지에 따라 달라집니다. 필요한 데이터를 찾는 데 도움이 되도록 종합적인 목록을 마련했습니다.Loops
b:loop
태그를 사용하면 콘텐츠의 섹션을 여러 번 반복할 수 있습니다. Loops 태그는 특정 페이지의 게시물 목록에 각 게시물을 인쇄하거나 각 덧글이나 분류를 인쇄하는 데 가장 일반적으로 사용되는 태그입니다. 반복을 사용하기 위한 일반적인 형식은 다음과 같습니다.<b:loop var='identifier' values='set-of-data'>
[반복되는 콘텐츠를 여기에 삽입]
</b:loop>
'식별자' 부분은 선택한 모든 이름이 될 수 있으며, 매번 반복될 때마다 목록의 새로운 항목을 나타내는 데 사용됩니다. 일반적인 표기법은 간단하게 "i"로 표시합니다. 값에 지정하는 데이터 집합은 데이터 태그 문서에 항목목록으로 설명되어 있는 모든 데이터가 될 수 있습니다. 예를 들어, 블로그 게시물 도구에서
posts
는 목록입니다. 다음과 같은 코드는 각 게시물마다 반복되며 양쪽에 헤더 태그를 사용하여 각 게시물에 대한 제목을 인쇄합니다.<b:loop var='i' values='data:posts'>
<h2><data:i.title/></h2>
</b:loop>
"i"가 어떻게 각 게시물의 값을 번갈아 취해서 각 게시물의 제목을 표시하는지 살펴보십시오..
If / Else
b:if
및 b:else
태그를 사용하여 콘텐츠를 표시할 수 있는 위치도 있고 그렇지 않은 위치도 있습니다. 일반적인 형식은 다음과 같습니다.<b:if cond='condition'>
[조건이 참인 경우 표시할 콘텐츠]
<b:else/>
[조건이 거짓인 경우 표시할 콘텐츠]
</b:if>
b:else
태그는 선택 항목입니다. Else 태그가 없으면 결과가 b:if
섹션에 나열되는 콘텐츠로 나타나거나 아무 것도 나타나지 않습니다. 그러나 각각의 경우에 모두 닫는 </b:if>
가 필요합니다.
"조건"에는 참이나 거짓으로 평가될 수 있는 모든 항목을 넣을 수 있습니다. 일부 데이터 태그는 게시물의
allowComments
와 같이 그 자체만으로 간단한 참/거짓 값입니다. 다른 데이터를 사용하여 특정 값과 비교하여 참인지 거짓인지 여부를 알 수 있습니다. 다음은 몇 가지 예입니다.<b:if cond='data:post.showBacklinks'>
현재 게시물이 뒤로 링크를 표시하도록 설정되어 있는 경우 참입니다.<b:if cond='data:blog.pageType == "item"'>
현재 게시물이 항목 페이지(게시물 페이지)인 경우 참입니다.<b:if cond='data:displayname != "Fred"'>
True if this is not Fred의 표시이름이 아닌 경우 참입니다.<b:if cond='data:post.numComments > 1'>
현재 게시물에 덧글이 두 개 이상 있는 경우 참입니다.
댓글 없음:
댓글 쓰기