tRikSonic

b:with - Blogger Tutorial

Terakhir diperbarui : 23 November 2018 - 14.01

Penjelasan

Tag <b:with> adalah sebuah tag perintah yang dapat digunakan dalam membuah ekspresi yang kompleks, dimana nantinya dapat digunakan pada node anak. Tag <b:with> akan menghitung sebuah nilai variabel sebelum digunakan atau sebelum dipanggil oleh tag pemanggil. Tag ini dapat bekerja diseluruh XML terkecuali didalam tag <b:skin>.
b:with - Blogger Tutorial

Syntax

<b:with value='...' var='...'>
  ...
</b:with>

Atribut

Tag <b:with> memiliki atribut yang dapat digunakan antara lain sebagai berikut:
var awalan expr :

Bisa diterapkan
Digunakan untuk menentukan nama dari variable.

Nama variable yang digunakan nantikan akan digunakan pada node anak.
Keterangan : wajib ada
value awalan expr :

Bisa diterapkan
Digunakan untuk menentukan Ekspresi yang akan digunakan pada variabel.

Nilai yang dapat diberikan untuk atribut ini adalah
  • frase Blogger
  • nilai eksplisit
  • dan, nilai yang diberikan
Keterangan : wajib ada

Contoh Penggunaan

Contoh untuk membuat sebuah thumbnail postingan.
<b:if cond='data:post.thumbnailUrl'>
  <b:with value='data:post.thumbnailUrl ? resizeImage(data:post.thumbnailUrl, 250, "2:1") : data:post.thumbnail' var='thumb'>
    <img expr:src='data:thumb'/>
  </b:with>
</b:if>
Contoh berikut digunakan untuk menyaring suatu postingan dengan penerapan pada label posting.
<widget id='Blog1' type='Blog'>
  <b:includable id='main'>
    <b:with value='data:posts filter (p => p.labels none (l => l.name == "black"))' var='posts'>
      <b:include data='post' name='postCommentsAndAd'/>
    </b:with>
</b:includable>
</widget>
Contoh diatas menjelaskan bahwa postingan yang mempunyai label black tidak akan ditampilkan.
Catatan : contoh diatas diperuntukan widget versi 2 dan layout versi 3, dengan menggunakan template/tema kostum
Contoh untuk membuat daftar list.
<b:with var='mylist' value='[{
  title: "Example list 1",
  url: "https://triksonic.blogspot.com/p/list-1.com"
}, {
  title: "Example list 2",
  url: "https://triksonic.blogspot.com/p/list-2.com"
}, {
  title: "Example list 3",
  url: "https://triksonic.blogspot.com/p/list-3.com"
}]'>

  <ul>
  <b:loop values='data:mylist' var='test'>
    <li>
      <a expr:href='data:test.url' expr:title='data:test.title'><data:test.title/></a>
    </li>
  </b:loop>
  </ul>
  
</b:with>
Hasil render HTML.
<ul>
  <li><a href="https://triksonic.blogspot.com/p/list-1.com" title="Example list 1">Example list 1</a></li>
  <li><a href="https://triksonic.blogspot.com/p/list-2.com" title="Example list 2">Example list 2</a></li>
  <li><a href="https://triksonic.blogspot.com/p/list-3.com" title="Example list 3">Example list 3</a></li>
</ul>
Selamat berkreasi dan semoga bermanfaat.

Informasi :

Artikel ini merupakan panduan tidak resmi tentang xml blogger template.
Untuk mendapatkan informasi yang lebih tepat, sangat disarankan mencarinya pada tautan dibawah ini :

  1. Blog Blogger
  2. Pusat Bantuan Blogger
  3. Forum Bantuan Blogger
  4. Forum Bantuan Google
  5. Stack Overflow

8 komentar

AdiCore
AdiCore6/21/2021ReplyBalas Komentar ini
kalau menggunakan operator lambda dengan tag b:with untuk menyembunyikan sidebar pada postingan yang terdapat label tertentu apa juga bisa mas?
Adi Jaya
Adi Jaya6/21/2021
Tergantung struktur templatenya mas jika cuman sidebar biasa tanpa komponen widget, maka bisa. (sebaliknya)

Karena (data label) positingan dia gak bersifat global, hanya terikat pada type widget tertentu misalnya type Blog atau PopularPosts.

saran bermain dengan data:view.title aja lebih mudah karna bersifat global, terus diisi dengan operator contains.

Misal judul postingan : Tutorial Menghilangkan Planet Terbaru.
<b:if cond='data:view.title contains "Planet"'>
true (Planet)
<b:else/>
false
<b:if>
No Name
No Name9/24/2021ReplyBalas Komentar ini
kalo 2 label gimana nih ?(l => l.name == "black","Red","Green"))' < gini bukan


Adi Jaya
Adi Jaya9/26/2021
Syntax Lambda Expression
[itemsSet] [operator] [expression]

any : boolean
all : boolean
none : boolean
count : number
filter : array : memerlukan loop
map : array
first : array[0]

[itemsSet] [operator] (l => l.name in {"black","Red","Green"})
[itemsSet] [operator] (l => l.name not in {"black","Red","Green"})
Maki M.
Maki M.4/26/2022
Komentar ini telah dihapus oleh pengarang.
Maki M.
Maki M.4/26/2022ReplyBalas Komentar ini
Maaf numpang tanya, ini dibaca apa ya?
data:post.comments where (c => not c.inReplyTo)

entar kenapa setelah Blogger mengubah frame komentarnya, komentar baru tidak muncu, tapi muncul ketika saya membalas komentar yang sudah ada.
Aoisora
Aoisora4/27/2022ReplyBalas Komentar ini
kalau penerapan tersbut buat filter popular post bisa tidak?
Aoisora
Aoisora4/27/2022ReplyBalas Komentar ini
kalau b:with diterapkan buat popular posts bisa tidak, buat filter label.. kucoba tidak bisa.
Comment Form

Posting Komentar

  1. Untuk menyisipkan sebuah link atau tautan gunakan <i rel="link=//example.com">teks disini</i>
    • Tanpa menggunakan https: dan http:
  2. Untuk menyisipkan sebuah kode yang pendek gunakan <i rel="code">kode disini</i>
  3. Untuk menyisipkan sebuah kode yang panjang gunakan <i rel="pre">kode disini</i>
  4. Untuk menyisipkan sebuah teks Tebal gunakan <strong>teks tebal disini</strong>
  5. Untuk menyisipkan sebuah teks Miring gunakan <em>teks miring disini</em>
  6. Untuk menyisipkan sebuah gambar gunakan <i rel="image">url gambar disini</i>

Ketentuan Komentar

  • Pengguna yang dapat berkomentar adalah pengguna yang memiliki akun google
  • Guna mengurangi komentar yang bersifat spam, maka akan diberlakukan langkah verifikasi kata.
  • Pengguna bertanggung jawab atas komentar yang dikirim
  • Admin dan penulis blog mempunyai hak untuk menampilkan, menghapus, menandai spam, pada komentar yang dikirim
  • Dengan mengirimkan sebuah komentar, maka pengguna dianggap menyetujui semua ketentuan diatas

Poin ketentuan diatas tidak bersifat tetap, dan dapat berubah kapan saja

Konversi Kode
Kode yang ingin dikonversi

Loading.....
X
Run
Klik tombol Run, untuk menampilkan hasil editing, atau menyegarkan editor.