Ads by Yasya El Hakim
Mengenal tag b:if, b:else, dan b:elseif pada Blogger

Tag b:if, b:else, dan b:elseif sering sekali digunakan dalam membuat Template/Tema blogger. Biasanya, ketiga tersebut tersusun menjadi satu. Tag tersebut berfungsi untuk memberikan Statement yang digunakan dalam beberapa kondisi yang berbeda.

Contoh Penulisan

<b:if cond='EKSPRESI1'>
     <!-- dijalankan jika kondisinya true (sama) -->
     <b:elseif cond='EKSPRESI2'/>
     <!-- dijalankan jika kondisi diatasnya false (tidak sama) -->
     <b:else/>
     <!-- dijalankan jika semua kondisi diatasnya false (tidak sama) semua -->
</b:if>
Tag tersebut hanya diperbolehkan memiliki satu atribut cond (Kondisi) dengan nilai Boolean (True/False), String, Angka, atau Ekspresi.

Studi Kasus

Kode berikut hanya akan muncul pada halaman utama (Homepage):
<b:if cond='data:view.isHomepage'>
     <!-- dijalankan hanya pada halaman utama (Homepage) -->
</b:if>

Menggunakan Boolean (True/False)

Kode berikut hanya akan muncul ketika Widget memiliki judul:
<b:if cond='data:blog.pageTitle'>
     <b:if cond='false'>
          <!-- Kode -->
     </b:if>
</b:if>

Menggunakan Operator Logika

Kode 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 kalian perhatikan, terdapat tanda "!", artinya itu tidak (not).

Kode !data:view.isMobile jika diartikan kedalam bahasa manusia adalah "Bukan pada perangakat Mobile", begitupun sebaliknya.

Menggunakan Operator Perbandingan (Kondisi dan Boolean)

Kode berikut hanya akan muncul pada perangkat Mobile:
<b:if cond='data:blog.isMobile == "true"'>
<!-- Kode -->
</b:if>

Menggunakan Operator Lambda

Kode 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>

Menggunakan Operator Gabungan

Perhatikan kode berikut:
<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/>
</b:if>

Kode diatas akan muncul jika halaman yang dibuka adalah halaman Label, Jika halaman yang sedang diakses adalah halaman NamaLabel1, NamaLabel2, dan NamaLabel3, maka Kode 1 akan muncul. Selanjutnya, karena Statementnya tidak ada pada halaman NamaLabel3 dan NamaLabel4, maka Kode 2 juga akan dijankan pada halaman label NamaLabel1 dan NamaLabel2.

Semoga kalian paham dengan contoh diatas, jika belum, kalian bisa melihat contoh tag sebelumnya. Semoga bermanfaat.

0Komentar

Sebelumnya Selanjutnya