Blogger - 14 b:if 제어문

Blogger b:if 제어문 - 블로거에서 가장 많이 사용되는 if 문 사용 방법.
2 min read

if는 블로거에서 가장 많이 사용되는 제어문입니다.

b:if 제어문

구글 블로그의 if 문은 <b:if> ... <b:elseif/> ... <b:else/> ... </b:if>와 같은 방법으로 제어할 수 있습니다.

<b:if cond='조건식 1'>
  <!-- 조건이 참이면 실행 -->
<b:elseif cond='조건식 2'/>
  <!-- 첫 번째 조건이 거짓이면 실행 -->
<b:else/>
  <!-- 모든 조건이 거짓이면 실행 -->
</b:if>

<b:if>에는 하나의 속성만 사용할 수 있으며 cond 속성은 불리언(boolean)으로 지정합니다.

예를 들어 다음과 같은 형식으로 사용될 수 있습니다.

<b:if cond='data:view.isHomepage'>
  <!-- 메인 페이지이면 실행 -->
</b:if>

예제

예제 1

다음은 두 조건 모두 모바일로 접속한 사용자이면 실행하는 코드입니다.

<b:if cond='data:blog.isMobile == "true"'>
  <!-- 모바일로 접속하면 실행 -->
</b:if>

<b:if cond='data:blog.isMobile'>
  <!-- 모바일로 접속하면 실행 -->
</b:if>

다음과 같이 중첩도 사용 가능합니다.

<b:if cond='data:blog.isHomepage'>
  <b:if cond='data:blog.isMobile'>
    <!-- 메인 페이지이고, 모바일로 접속하면 실행 -->
  </b:if>
</b:if>

또한 논리 연산자와 결합하여 사용 가능합니다.

다음은 모바일 접속이 아니지만 메인 페이지이면 실행하라는 뜻이 됩니다. !는 Not과 같고, ==는 and와 같습니다.

<b:if cond='!data:view.isMobile and data:view.isHomepage'>
  <!-- 조건이 참이면 실행 -->
</b:if>

<b:if cond='data:view.isMobile != and data:view.isHomepage == "true"'>
  <!-- 조건이 참이면 실행 -->
</b:if>

참고: 조건식에 사용된 따옴표는 작은 따옴표와 큰 따옴표 모두 사용 가능합니다.

예제 2

<b:if>에는 배열을 사용할 수 있습니다.

'조건식 == 값'과 같은 형식보다는 배열을 사용하는 것이 보기에도 좋고 효율적입니다.

<b:if cond='조건식 in [1, 2, 3, 4, 5, 6, 7]'>
  ...
</b:if>
<b:if cond='data:view.search.label in ["HTML", "CSS", "JS"]'>
  <!-- 라벨이 HTML, CSS, JS 중 하나라도 해당되면 실행 -->
<b:elseif cond='data:view.search.label not in ["SQL", "PHP"]'/>
  <!-- 라벨이 SQL, PHP 가 아니면 실행 -->
<b:else/>
  <!-- 모든 조건에 거짓이면 실행 -->
</b:if>

또는 중첩을 사용해도 좋습니다.

<b:if cond='조건식 == 1' >
  <b:if cond='조건식 == 2' >
    <b:if cond='조건식 == 3' >
      <b:if cond='조건식 == 4' >
        ...
      </b:if>
    </b:if>
  </b:if>
</b:if>

예제 3

<b:if>에는 삼항 연산자도 사용할 수 있습니다. 삼항 연산자는 <조건식> ? <true> : <false> 형식으로 주어진 조건식이 참이면 true를 거짓이면 false를 반환하는 형식입니다.

<div>
  <b:class expr:name='data:view.isHomepage ? "home" : "blogger"'/>
  <h1>제목</h1>
</div>

<!--
결과:
<div class='home'>
  <h1>제목</h1>
</div>
-->

현재 페이지가 메인 페이지이면 class 속성에 home을 추가하고, 메인 페이지가 아니면 blogger를 추가합니다.

You may like these posts

  • 비교 연산자는 두 값이 동등한지 검사하는 연산자입니다. 결과는 불리언 값을 반환합니다. 연산자 목록 이름 연산자 피연산자 기본 구문 응용 구문 결과 값 …
  • Blogger의 논리 연산자는 불리언 값을 비교하는 연산자입니다. 결과는 불리언 값을 반환합니다. 구문 이름 연산자 피연산자 기본 구문 응용 구문 결과 …
  • Membership 연산자는 값이 시퀀스의 멤버인지 확인합니다. 연산 결과는 항상 불리언(boolean) 값을 반환합니다. Membership 연산자 연산자 설명 예 in …
  • if는 블로거에서 가장 많이 사용되는 제어문입니다. b:if 제어문 구글 블로그의 if 문은 <b:if> ... <b:elseif/> ... <b:else/> ... </b:if>와 같은 방법으로 제어할 수 있습니다. <b:if cond='조건식 1'> …
  • 산술 연산자는 일반적인 수학 연산자입니다. 연산자 중에서 두 피연산자를 이용해 계산하는 기본적인 연산자로 구글 블로그에서는 다음과 같이 사용할 수 있습니다. 산술 연산자 연산자 설명 예 …
  • 람다는 괄호와 화살표를 이용해 표현합니다.블로거는 람다 형식의 연산자를 지원합니다. Ramda 연산자 블로거에서 람다 표현식의 작동 방식을 보다 잘 이해하려면 데이터에 대한 지식과 다른 연산자에 대한 지식이 필요할지 모릅니다. 블로거에서 사용되는 람다식은 개별 인스턴스가 아닌 전체 데이터(라벨,…

5 comments

  1. 3년 전
    안녕하세요. 알려주신 연산 규칙 중 유독 하나만 적용이 안 돼서 문의드립니다.


    (모바일 페이지, 홈페이지, 라벨이 SP인 페이지에서 Random Posts 위젯을 숨깁니다)
    이 중에서 !data:blog.searchLabel == "SP"만 적용이 안 되고 있습니다(이 한 가지만 적용해도 안 됩니다). 참고로 제 블로그는 https://singingdalong.blogspot.com/
    입니다.

    무엇이 문제일까요?
  2. 3년 전
    안녕하세요? data:view.search.label == "SP"으로 하시면 되실거예요. 감사합니다.
    1. 3년 전
      이상하게 그게(!data:view.search.label == "SP") 안 됩니다. 그냥 모든 페이지에서 Random Posts 위젯이 숨겨집니다.
    2. 3년 전
      !data:view.search.label == "SP"
      적용했는데, 모든 페이지에서 해당 위젯이 안 보입니다. 문법은 문제가 없는 것 같은데, 이것만 단독으로 써도 적용이 안 되는 것을 보면 위젯엔 애초 적용이 안 되는 것일까요?
  3. 3년 전
    수정이 안되서 다시 남깁니다. 느낌표가 빠졌네요~~
    data:view.search.label != "SP"