Mengenal tag b:if, b:else, dan b:elseif pada Blogger
Tag b:if
, b:else
, dan b:elseif
tidaklah jarang digunakan dalam pembuatan Template atau Tema Blogger. Biasanya, ketiga tag tersebut tersusun menjadi satu. Tag tersebut berfungsi untuk memberikan Statement yang dapat digunakan dalam beberapa kondisi yang berbeda-beda.
Daftar Isi
Contoh Penulisan Tag b:if, b:else dan b:elseif
<b:if cond='EKSPRESI1'>
<!-- akan dijalankan jika hasil dari EKSPRESI1 adalah true (benar) -->
<b:elseif cond='EKSPRESI2'/>
<!-- akan dijalankan jika hasil dari EKSPRESI1 adalah false (salah) dan jika EKSPRESI2 adalah true (benar) -->
<b:else/>
<!-- akan dijalankan jika semua hasil dari EKSPRESI1 dan EKSPRESI2 adalah false (salah)-->
</b:if>
Tag b:if
hanya diperbolehkan memiliki satu atribut yaitu cond
(Kondisi) dengan nilai yang akan menghasilkan Boolean (true
atau false
), String, Angka, atau Ekspresi.
Studi Kasus Tag b:if
Contoh kode kondisional berikut hanya akan muncul pada halaman utama (Homepage):
<b:if cond='data:view.isHomepage'>
<!-- akan dijalankan hanya pada halaman utama (Homepage) -->
</b:if>
Tag b:if Menggunakan Boolean (true atau false)
Contoh kode kondisional berikut hanya akan muncul ketika halaman Blog tidak memiliki judul:
<b:if cond='data:blog.pageTitle'>
<b:if cond='false'>
<!-- Kode -->
</b:if>
</b:if>
Tag b:if Menggunakan Operator Logika
Contoh kode kondisional berikut hanya akan muncul pada halaman utama (Homepage) dan halaman pencarian:
<b:if cond='!data:view.isMobile and data:view.isHomepage or data:view.isSearch'>
<!-- Kode -->
</b:if>
Jika diperhatikan, terdapat tanda seru `!
`, yang merupakan singkatan logika untuk bukan (not). Jika menggunakan bahasa manusia, artinya akan seperti berikut:
data:view.isMobile
: Jika halaman saat ini diakses pada perangkat Mobile.!data:view.isMobile
: Jika halaman saat ini bukan diakses pada perangkat Mobile.
Tag b:if Menggunakan Operator Perbandingan
Contoh kode kondisional berikut hanya akan muncul pada parangkat Mobile:
<b:if cond='data:blog.isMobile == "true"'>
<!-- Kode -->
</b:if>
Tag b:if Menggunakan Operator Lambda
Contoh kode kondisional berikut berikut akan muncul ketika halaman cocok dengan label "NamaLabel
":
<b:if cond='data:posts any (p => p.labels any (l => l.name == "NamaLabel"))'>
<!-- Kode -->
</b:if>
Tag b:if Menggunakan Operator Gabungan
<b:if cond='data:view.search.label in ["NamaLabel1", "NamaLabel2", "NamaLabel3"]'>
<!-- Kode 1 -->
<b:elseif cond='data:view.search.label not in ["NamaLabel3", "NamaLabel4"]'/>
<!-- Kode 2 -->
<b:else/>
<!-- Kode 3 -->
</b:if>
Contoh kode kondisional diatas akan muncul jika halaman yang diakses adalah halaman Label dengan nama Label NamaLabel1
, NamaLabel2
, dan NamaLabel3
, maka <-- Kode 1 -->
akan muncul.
Selanjutnya, jika halaman yang diakses bukanlah halaman Label dengan nama Label yang bukan terdiri dari NamaLabel3
dan NamaLabel4
, maka <-- Kode 2 -->
akan muncul.
Terakhir, jika semua kondisional hasilnya adalah false, maka <-- Kode 3 -->
akan muncul.
kalau misalnya label nya lebih dari 1 gimana ka ??