Penjelasan
Apa itu <b:eval>?
<b:eval> adalah tag khusus di template Blogger yang dipakai untuk mengevaluasi dan menampilkan hasil dari sebuah ekspresi.
Sederhananya:
- Melakukan perhitungan (matematika sederhana).
- Menjalankan operasi logika (seperti perbandingan, kondisi, dll).
- Menampilkan hasil dari sebuah ekspresi langsung ke dalam HTML.
- Memanipulasi data atau string (menggabungkan teks, mengubah huruf besar/kecil, dll).
Tag ini mirip dengan data: expression, namun lebih fleksibel karena bisa menampung ekspresi yang lebih kompleks. Jika data: hanya menampilkan nilai data apa adanya, maka <b:eval> bisa mengolah nilai tersebut terlebih dahulu sebelum ditampilkan.
Sintak Dasar
Sintaks dasar dari <b:eval> sangat sederhana:
<b:eval expr='ekspresi_yang_ingin_dievaluasi'/>
Atau bisa juga ditulis dengan tag pembuka dan penutup:
<b:eval expr='ekspresi'></b:eval>
Namun yang paling umum digunakan adalah versi self-closing (tag tunggal) seperti pada contoh pertama.
Atribut yang Bisa Digunakan
Tag <b:eval> hanya memiliki satu atribut utama, yaitu:
| Atribut | Status | Fungsi |
|---|---|---|
expr |
Wajib | Berisi ekspresi yang akan dievaluasi dan ditampilkan hasilnya. |
expr ditulis menggunakan sintaks ekspresi Blogger, bukan HTML biasa. Di dalamnya Anda bisa menggunakan operator, fungsi, data variabel (data:), dan operan logika.
Operator yang sering digunakan di dalam expr:
| Kategori | Operator | Keterangan |
|---|---|---|
| Aritmatika | +, -, *, /, % |
Penjumlahan, pengurangan, perkalian, pembagian, sisa bagi |
| Perbandingan | ==, !=, >, <, >=, <= |
Membandingkan dua nilai |
| Logika | and, or, not |
Operasi logika |
| Kondisional | ? : |
Operator ternary (jika-maka) |
Contoh Penggunaan
Contoh 1 — Perhitungan Matematika Sederhana
<b:eval expr='10 + 5'/>
Hasil yang ditampilkan:
15
Pada contoh ini, Blogger menghitung 10 + 5 lalu menampilkan hasilnya yaitu 15.
Contoh 2 — Menggabungkan Teks (String Concatenation)
<b:eval expr='"Selamat datang di " + data:blog.title'/>
Penjelasan:
Ekspresi ini menggabungkan teks "Selamat datang di " dengan judul blog (data:blog.title).
Contoh hasil:
Selamat datang di Blog Saya
Contoh 3 — Menggunakan Operator Ternary (Kondisional)
<b:eval expr='data:post.numComments > 0 ? "Ada komentar" : "Belum ada komentar"'/>
Penjelasan:
-
Jika jumlah komentar lebih dari 0 → tampilkan
"Ada komentar". -
Jika tidak (0 komentar) → tampilkan
"Belum ada komentar".
Ini sangat berguna untuk menampilkan teks yang berbeda berdasarkan kondisi tertentu.
Contoh 4 — Menampilkan Nomor Halaman atau Indeks
<b:loop values='data:posts' var='post' index='i'>
<b:eval expr='data:i + 1'/>. <data:post.title/>
</b:loop>
Penjelasan:
Karena indeks (data:i) biasanya dimulai dari 0, kita tambahkan + 1 agar penomoran dimulai dari 1.
Contoh hasil:
1. Artikel Pertama
2. Artikel Kedua
3. Artikel Ketiga
Contoh 5 — Menggabungkan dengan Atribut HTML
<a expr:href='data:post.url'>
<b:eval expr='data:post.title + " (" + data:post.numComments + " komentar)"'/>
</a>
Contoh hasil:
Belajar Blogger (5 komentar)
Comments