Dokumentasi Tag <b:if>, <b:elseif> & <b:else> Dalam Template Blogger

Penjelasan

Apa itu <b:if>, <b:elseif>, dan <b:else>?

Tag <b:if>, <b:elseif>, dan <b:else> adalah tag kondisional (conditional logic) yang digunakan di dalam template Blogger berbasis XML. Fungsinya adalah untuk menampilkan atau menyembunyikan bagian tertentu dari template berdasarkan kondisi (syarat) yang kita tentukan.

Sederhananya, tag ini bekerja seperti logika "JIKA... MAKA..." dalam pemrograman:

  • <b:if> → Menjalankan blok kode jika kondisi bernilai benar (true).
  • <b:elseif> → Memberikan kondisi alternatif jika kondisi <b:if> sebelumnya bernilai salah (false). Bisa digunakan lebih dari satu kali.
  • <b:else> → Menjalankan blok kode jika semua kondisi di atas salah (sebagai "pilihan terakhir"). Tidak memerlukan kondisi.

Dengan tag ini, Anda bisa membuat template yang dinamis, misalnya menampilkan judul berbeda di halaman utama dan halaman postingan, atau menampilkan sidebar hanya di halaman tertentu.

Sintak Dasar

1. Bentuk dasar (hanya <b:if>)

<b:if cond='KONDISI'>
  <!-- Kode yang dijalankan jika KONDISI benar -->
</b:if>

2. <b:if> dengan <b:else>

<b:if cond='KONDISI'>
  <!-- Dijalankan jika KONDISI benar -->
<b:else/>
  <!-- Dijalankan jika KONDISI salah -->
</b:if>

3. Bentuk lengkap (<b:if>, <b:elseif>, <b:else>)

<b:if cond='KONDISI_1'>
  <!-- Dijalankan jika KONDISI_1 benar -->
<b:elseif cond='KONDISI_2'/>
  <!-- Dijalankan jika KONDISI_1 salah & KONDISI_2 benar -->
<b:else/>
  <!-- Dijalankan jika semua kondisi di atas salah -->
</b:if>

Atribut yang Bisa Digunakan

Atribut Digunakan pada Status Keterangan
cond <b:if> & <b:elseif> Wajib Berisi kondisi/syarat yang akan dievaluasi (bernilai true atau false).

<b:else> tidak memiliki atribut karena ia hanya berfungsi sebagai penutup logika.

Contoh Penggunaan

Contoh 1: Menampilkan judul berbeda di Beranda dan Postingan

<b:if cond='data:view.isHomepage'>
  <h1>Selamat Datang di Blog Saya!</h1>
<b:else/>
  <h2><data:post.title/></h2>
</b:if>

Contoh 2: Menampilkan pesan sesuai tipe halaman (3 kondisi)

<b:if cond='data:view.isPost'>
  <p>Anda sedang membaca sebuah postingan.</p>
<b:elseif cond='data:view.isPage'/>
  <p>Anda sedang membuka halaman statis.</p>
<b:elseif cond='data:view.isArchive'/>
  <p>Anda sedang melihat arsip blog.</p>
<b:else/>
  <p>Selamat datang di beranda!</p>
</b:if>

Contoh 3: Menampilkan elemen hanya jika postingan punya judul

<b:if cond='data:post.title'>
  <h2 class='post-title'><data:post.title/></h2>
</b:if>

Contoh 4: Menggunakan operator and, or, dan not

<!-- Menampilkan sidebar hanya di Beranda ATAU Arsip -->
<b:if cond='data:view.isHomepage or data:view.isArchive'>
  <div class='sidebar'>Konten Sidebar</div>
</b:if>

<!-- Menampilkan iklan HANYA di postingan yang punya judul -->
<b:if cond='data:view.isPost and data:post.title'>
  <div class='iklan'>Tempat Iklan</div>
</b:if>

<!-- Menampilkan banner di SEMUA halaman KECUALI beranda -->
<b:if cond='not data:view.isHomepage'>
  <div class='banner'>Banner Promosi</div>
</b:if>

Contoh 5: Kondisi bertingkat (nested if)

<b:if cond='data:view.isPost'>
  <div class='postingan'>
    <h2><data:post.title/></h2>

    <b:if cond='data:post.labels'>
      <ul class='label-list'>
        <b:loop values='data:post.labels' var='label'>
          <li><data:label.name/></li>
        </b:loop>
      </ul>
    <b:else/>
      <p>Postingan ini tidak memiliki label.</p>
    </b:if>

  </div>
</b:if>