글이 특정 라벨을 가지고 있는지 판단하기

최종 수정일: | #블로그 운영

먼저 카테고리와 라벨에 대해 짚고 넘어가야겠습니다. Blogger에서는 라벨 (label)이라는 용어를 사용하지만 대부분의 Blogger 사용자들은 이를 카테고리로 사용하고 있습니다. 이 글에서 카테고리와 라벨이란 용어가 혼용되어도 양해 부탁드립니다.

이 기능에 대한 갈망은 글쓰기 카테고리 글로부터 시작되었습니다. 해당 글과 같이 글쓰기 라벨을 가진 글에는 article에 writing 클래스를 추가해 p 태그의 margin을 없애고 싶었습니다. 그리고 텍스트 양쪽 정렬을 시키고 싶었습니다.

stackoverflow 글이 도움이 많이 되었습니다.

<b:attr cond='data:post.labels any (label => label.name == "글쓰기")' name='class' value='writing'/>

위 코드는 cond 부분만 집중하면 됩니다. data:post.labels에 글쓰기라는 이름을 가진 라벨이 하나라도 있다면 true를 반환합니다.

b:attr은 cond 부분이 참이면 해당 태그의 부모 요소에 name 속성를 value 값이 들어간 채로 추가합니다. cond 부분이 참이면, 즉 이 글에 글쓰기 라벨이 포함되어 있으면, 부모 요소에게 class 속성에 writing 값을 넣어 출력해 줍니다.

만약 b:if를 사용하고 싶으시다면 cond를 사용해 다음과 같이 작성하시면 됩니다. 글쓰기 라벨이 들어간 글은 b:if 내부의 내용이 실행됩니다.

<b:if cond='data:post.labels any (label => label.name == "글쓰기")'>
  <!-- 조건이 참이라면 -->
</b:if>

댓글 없음