pageType 데이터 유형은 페이지 유형을 알아두면 유형에 따라 다양한 레이아웃을 디자인할 수 있습니다.

설 명
index 게시물 목록, 메인 페이지, 검색결과 페이지
archive 아카이브 페이지
Ex.) 년_월_일_archive.html
item 게시물 포스트 글(단일 포스트 글) 페이지
static_page 단일 독립형(정적) 페이지를 포함하는 페이지
error_page 404 에러 페이지, 존재하지 않는 글일 때 출력
search 검색 페이지
searchlabel 라벨 전체 또는 특정 검색 페이지


index 페이지

검색 결과, 라벨 검색, 블로그 보관함, 블로그 메인, 일반적인 게시물 목록 유형의 페이지에 이에 해당됩니다.

<!-- 모든 index 페이지일 때 -->
<b:if cond = 'data:blog.pageType == "index"'>
  <div>이 페이지는 index입니다.</div>
</b:if>

<!-- 메인 홈페이지일 때 표시 -->
<b:if cond='data:blog.url == data:blog.homepageUrl'>
  <div>이 페이지는 메인 페이지입니다.</div>
</b:if>


archive 페이지

블로그 보관함 위젯을 만들었을 때 아카이브 페이지를 선택할 수 있는 링크가 자동으로 생성되는데, 예를 들어 "년_월_일_archive.html" URL 형식이거나 https://.../년/ 또는 https://.../년/월/ 형식의 아카이브 URL을 말합니다.

<b:if cond = 'data:blog.pageType == "archive"'>
  <div>이 페이지는 archive입니다.</div>
</b:if>

아래 그림을 보는 바와 같이 보관 빈도를 어떤 것을 선택하느냐에 따라 페이지 이름이 달라집니다. 예를 들어 매일 또는 매주로 설정하면 아카이브 파일 이름은 2020_06_23_archive.html 형식이 되며, 매월로 설정하였을 때는 아카이브 URL 형식이 https://example.com/2020/06/ 이거나 https://example.com/2020/ 인 URL 주소입니다.


아카이브 URL일 경우 다음 표의 태그가 자동으로 반환됩니다.

<!--//
https://example.com/2020_06_14_archive.html
//-->
<data:view.archive.year/>년 <data:view.archive.month/>월 <data:view.archive.day/>일
<!--//
결과:
2020년 06월 14일
//-->


item 페이지 

특정 게시물을 클릭했을 때 보여지는 단일 포스트 페이지입니다.

<!-- 모든 포스트 게시물일 때 -->
<b:if cond = 'data:blog.pageType == "item"'>
  <div>이 페이지는 item입니다.</div>
</b:if>

<!-- 첫 번째 포스트 게시물일 때 -->
<b:if cond='data:post.isFirstPost'>
  <div>이 페이지는 첫 번째 게시물일 때 표시됩니다.</div>
</b:if>

<!-- 특정 포스트 게시물일 때 -->
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl + "2020/06/foo.html"'>
  <div>http://domain.com/2020/06/foo.html 페이지이면 표시됩니다.</div>
</b:if>


static_page 페이지

블로거 편집기에서 개별 페이지를 만들고, 수정할 수 있는데 이곳에서 작성된 페이지를 검증할 수 있습니다. 일반 게시물과 구별되는 정적인 페이지, 독립형 페이지입니다.

<!-- 모든 정적 페이지일 때 -->
<b:if cond = 'data:blog.pageType == "static_page"'>
  <div>이 페이지는 static_page입니다.</div>
</b:if>

<!-- 특정 정적 페이지일 때 -->
<b:if cond='data:blog.url == data:blog.canonicalHomepageUrl + "p/foo.html"'>
  <div>http://domain.com/p/foo.html 페이지이면 표시됩니다.</div>
</b:if>


error_page 페이지

해당 게시물이나 페이지 또는 기타 문서가 존재하지 않을 때 보여지는 에러 페이지입니다.

<b:if cond = 'data:blog.pageType == "error_page"'>
  <h1>404 에러 페이지</h1>
  <h5>이 페이지는 존재하지 않는 페이지입니다.</h5>
</b:if>


search 페이지

특정 단어를 검색했을 때 또는 모든 검색 페이지에 보여지도록 설정할 수 있습니다.

<!-- 전체 검색일 때 -->
<b:if cond='data:blog.pageType == "searchQuery"'>
  <div>이 페이지는 모든 검색 페이지에 표시됩니다.</div>
</b:if>

<!-- 특정 검색 단어와 일치할 때 -->
<b:if cond='data:blog.searchQuery == "뉴스"'>
  <div>이 페이지는 ‘뉴스’ 검색 페이지에 표시됩니다.</div>
</b:if>


searchlabel 페이지

searchlabel 은 모든 라벨에 표시하거나 특정 라벨에만 표시하도록 할 수 있습니다.

<!-- 전체 라벨 조회 -->
<b:if cond='data:blog.pageType == "searchlabel"'>
  <div>모든 라벨 페이지에 표시됩니다.</div>
</b:if>
<b:if cond='data:blog.searchLabel'>
  <div>모든 라벨 페이지에 표시됩니다.</div>
</b:if>
<b:if cond='data:view.isLabelSearch'>
  <div>모든 라벨 페이지에 표시됩니다.</div>
</b:if>

<!-- 특정 라벨과 일치할 때 -->
<b:if cond='data:blog.searchLabel == "뉴스"'>
  <div>이 페이지는 ‘뉴스’입니다.</div>
</b:if>


label 페이지

label 은 pageType 을 지원하지 않지만 searchlabel 과 비슷한 점이 많습니다. searchlabel 과 동일하게 특정 라벨에 표시하도록 구현할 수 있지만 배열에만 동작합니다.

<b:if cond='data:view.search.label in {"뉴스", "유머", "블로그"}'>
  <div>이 페이지는 ‘뉴스’, ‘유머’, ‘블로그’ 라벨에 표시됩니다.</div>
</b:if>