Menggunakan `B:With` - Dewa Blogger

Halaman

    Social Items

Buy Now

Menggunakan `B:With`

Tag <b:with> berfungsi untuk menciptakan variabel alternatif dari sebuah data atau bahkan dari variabel yang lain. Pada teladan di bawah, <data:name/> akan menampilkan teks Taufik Nurrohman:

<b:with var='name' value='Taufik Nurrohman'>   <h1><data:name/></h1> </b:with>

Dan pada teladan di bawah, variabel site akan mempunyai nilai yang sama dengan blog. Di sini, tag <b:with> hanya berfungsi sebagai alias variabel blog:

<b:with var='site' value='data:blog'>   <b:if cond='data:site.url == data:blog.url'>     <p><mark>OK!</mark></p>   </b:if> </b:with>

Nilai value pada tag <b:with> tidak harus berupa data primitif. Anda juga sanggup menuliskan data berupa koleksi, contohnya menyerupai ini:

<b:with var='page' value='{     title: "Page Title",     description: "Page description.",     author: "Taufik Nurrohman",     link: "//example.com",     tags: ["Foo", "Bar", "Baz"] }'>    <article>     <h2>       <a expr:href='data:page.link'>         <data:page.title/>       </a>     </h2>     <p><data:page.description/></p>     <p>       <strong>Tags:</strong>       <b:loop values='data:page.tags' var='tag'>         <data:tag/>       </b:loop>     </p>   </article>  </b:with>

Salah satu kekurangan fitur ini berdasarkan Saya yaitu bahwa setiap variabel hanya berlaku di dalam cakupan masing-masing tag <b:with> sebab sifat tag ini memang tidak sama dengan tag yang sanggup bangun sendiri menyerupai contohnya <b:class>. Oleh sebab itu, dikala kita ingin menciptakan beberapa nama variabel sekaligus dalam satu tema, maka kita perlu menciptakan lingkup tag <b:with> berkali-kali menyerupai ini, yang mana akan menciptakan instruksi menjadi makin tidak nyaman untuk dibaca:

<b:with var='date' value=' … '>   <b:with var='language' value=' … '>     <b:with var='site' value=' … '>       <b:with var='url' value=' … '>          <body> … </body>        </b:with>     </b:with>   </b:with> </b:with>

Solusi yang paling gampang dan sesuai mekanisme tentunya yaitu dengan mengubah data sebagai objek dan menyimpannya ke dalam satu nama variabel:

<b:with var='vars' value='{     date: … ,     language: … ,     site: … ,     url: … , }'>    <body> … </body>  </b:with>

Satu hal yang Saya harapkan untuk ke depannya jikalau Blogger memang benar masih tetap akan terus dikembangkan yaitu adanya sebuah tag yang mempunyai fungsi menyerupai tag <b:with> namun dengan sintaks dan sifat yang sama dengan <b:class>, dengan cita-cita bahwa kita akan sanggup menciptakan nama variabel secara inline dimana cakupan tidak lagi didasarkan pada tag tersebut melainkan didasarkan pada tag induk:

<b:var name='foo' value='ABC'/>  <data:foo/> <!-- “ABC” -->  <div>    <b:var name='foo' value='DEF'/>   <b:var name='bar' value='123'/>   <b:var name='baz' value='["Foo", "Bar", "Baz"]'/>    <data:foo/> <!-- “DEF” -->  </div>  <data:foo/> <!-- “ABC” -->

Sumber https://www.dte.web.id/