아카이브

구글 블로그 문법 조건문 if, elseif 및 else (b:if, b:elseif, b:else)


구글 블로그는 테마를 xml 파일 하나로 해결하기 때문에, 조건문을 이용하면 페이지에 따라 표시할 것들을 구글의 서버에서 해결합니다.

따라서 조건문은 조건에 따라 특정 HTML, 스크립트를 내보낼 때 사용합니다.

구글 블로그 테마를 만들때 가장 많이 사용되기 때문에 잘 알아두는 것이 좋습니다.

<b:if cond='조건'>
[조건이 참인 경우 표시할 콘텐츠]
<b:elseif cond='조건'/>
[이전 if 또는 elseif의 조건이 참이 아니고 이 elseif의 조건이 참인 경우 표시할 콘텐츠]
<b:else/>
[if 또는 elseif 조건 중 어느 것도 충족되지 않을 경우 표시할 콘텐츠]
</b:if>
※마지막에 </b:if>를 이용해서 꼭 닫아주어야합니다.

조건의 경우에는 사용방법이 여러가지가 있는데,

데이터 태그 중에 거짓, 참 정보를 갖고있는 태그의 경우에는 cond='조건'에 조건으로 사용하면 됩니다.

예시)
<b:if cond='data:post.showBacklinks'>
현재 게시물이 백링크를 표시하도록 설정되어 있는 경우 참입니다.



조건 내부에서 비교를 해서 거짓, 참을 반환 받을 수도 있는데, 텍스트 데이터를 비교하는 경우에는 ==, !=을 사용하고 숫자 데이터를 비교할 경우에는 >, <를 사용합니다.

예시)
<b:if cond='data:blog.pageType == "item"'>
현재 게시물이 항목 페이지(게시물 페이지)인 경우 참입니다.
<b:if cond='data:post.numComments > 1'>
현재 게시물에 댓글이 두 개 이상 있는 경우 참입니다.



조건 내부에서 AND와 OR의 조건을 작성하는 것도 가능합니다.

예시)
<b:if cond='data:blog.pageType == "item" and data:post.showBacklinks'>
현재 항목 페이지(게시물 페이지)이면서 백링크를 표시하도록 설정되어 있는 경우 참입니다.
<b:if cond='data:displayname == "Fred" or data:blog.pageType == "static_page"'>
표시 이름이 Fred이거나 현재 페이지가 정적인 페이지(게시물 페이지 아님)인 경우 참입니다.



in과 contains를 사용해 내부에 들어있는지 확인한 다음 거짓, 참을 반환받아 조건으로 사용할 수도 있습니다.

예시)
<b:if cond='data:blog.pageType in {"static_page", "item"}'>
현재 페이지가 특정 게시물 또는 페이지인 경우 참입니다.
<b:if cond='{"static_page", "item"} contains data:blog.pageType'>
현재 페이지가 특정 게시물 또는 페이지인 경우 참입니다.

보통 비교로 해결하는 방법을 많이 사용합니다.

댓글 없음:

댓글 쓰기