Pemutakhiran Sintaks dan Operator XML Blogger 2015

Tabel Konten
  1. And 
    1. Sebelum 
    2. Sesudah 
  2. Or 
    1. Sebelum 
    2. Sesudah 
  3. Not 
    1. Sebelum 
    2. Sesudah 
  4. Ternary Selector 
    1. Sebelum 
    2. Sesudah 
  5. Membership 
    1. Sebelum 
    2. Sesudah 
  6. Else If 
    1. Sebelum 
    2. Sesudah 
  7. Tambahan 
  8. Referensi: 
Blogger Logo

Baru-baru ini Blogger telah merilis beberapa operator baru untuk sintaks XML mereka. Sintaks baru ini memungkinkan kita untuk dapat menulis kode templat yang lebih baik, lebih logis dan lebih efisien. Selain dapat mengurangi ukuran berkas XML, sintaks baru ini juga memungkinkan para pengembang untuk dapat menemukan potensi-potensi baru dalam memanipulasi kode templat Blogger yang dulu sebagian besar hanya bisa kita lakukan dengan JavaScript. Berikut ini adalah ringkasannya…

And 

Sebelum 

<b:if cond='data:blog.searchQuery'>
  <b:if cond='data:numPosts &gt; 10'>
    Hasil pencarian dengan jumlah posting lebih dari 10…
  </b:if>
</b:if>

Sesudah 

<b:if cond='data:blog.searchQuery and data:numPosts &gt; 10'>
  Hasil pencarian dengan jumlah posting lebih dari 10…
</b:if>
<b:if cond='data:blog.searchQuery &amp;&amp; data:numPosts &gt; 10'>
  Hasil pencarian dengan jumlah posting lebih dari 10…
</b:if>

Or 

Sebelum 

<b:if cond='data:blog.pageType == &quot;index&quot;'>
  Lolos tes…
</b:if>
<b:if cond='data:blog.pageType == &quot;item&quot;'>
  Lolos tes…
</b:if>

Sesudah 

<b:if cond='data:blog.pageType == &quot;index&quot; or data:blog.pageType == &quot;item&quot;'>
  Lolos tes…
</b:if>
<b:if cond='data:blog.pageType == &quot;index&quot; || data:blog.pageType == &quot;item&quot;'>
  Lolos tes…
</b:if>

Not 

Sebelum 

<b:if cond='data:comment.isDeleted'>
<b:else/>
  Komentar yang tidak terhapus di sini…
</b:if>
<b:if cond='data:comment.isDeleted == &quot;false&quot;'>
  Komentar yang tidak terhapus di sini…
</b:if>

Sesudah 

<b:if cond='!data:comment.isDeleted'>
  Komentar yang tidak terhapus di sini…
</b:if>
<b:if cond='not data:comment.isDeleted'>
  Komentar yang tidak terhapus di sini…
</b:if>

Yang ini tidak bisa:

<!-- TEMPLATE ERROR: 'not' term cannot be used as operator except when preceding 'in' or 'contains' -->
<b:if cond='data:comment.isDeleted not &quot;false&quot;'>
  Komentar yang tidak terhapus di sini…
</b:if>
<!-- TEMPLATE ERROR: Extra characters at end of string: buf=[!] remainder=["false"] -->
<b:if cond='data:comment.isDeleted ! &quot;false&quot;'>
  Komentar yang tidak terhapus di sini…
</b:if>

Yang ini bisa:

<b:if cond='not data:comment.isDeleted == &quot;false&quot;'>
  Komentar yang tidak terhapus di sini…
</b:if>
<b:if cond='!data:comment.isDeleted == &quot;false&quot;'>
  Komentar yang tidak terhapus di sini…
</b:if>

Ternary Selector 

Sebelum 

&lt;html class=&#39;<b:if cond='data:blog.pageType == &quot;item&quot;'>
  page-item
<b:else/>
  page-non-item
</b:if>&#39;&gt;
  …
&lt;/html&gt;

Sesudah 

<html expr:class='data.blog.pageType == &quot;item&quot; ? &quot;page-item&quot; : &quot;page-non-item&quot;'>
  …
</html>
<html expr:class='&quot;page-&quot; + (data.blog.pageType == &quot;item&quot; ? &quot;&quot; : &quot;non-&quot;) + &quot;item&quot;'>
  …
</html>

Membership 

Hampir sama dengan operator or, hanya saja semua referensi pembanding harus sama, nilainya saja yang dibedakan:

Sebelum 

<b:if cond='data:comment.author == &quot;Taufik Nurrohman&quot;'>
  Admin komentar…
</b:if>
<b:if cond='data:comment.author == &quot;Taufik&quot;'>
  Admin komentar…
</b:if>
<b:if cond='data:comment.author == &quot;Admin&quot;'>
  Admin komentar…
</b:if>

Sesudah 

<b:if cond='data:comment.author in {&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;}'>
  Admin komentar…
</b:if>
<b:if cond='data:comment.author in [&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;]'>
  Admin komentar…
</b:if>
<b:if cond='{&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;} contains data:comment.author'>
  Admin komentar…
</b:if>
<b:if cond='[&quot;Taufik Nurrohman&quot;,&quot;Taufik&quot;,&quot;Admin&quot;] contains data:comment.author'>
  Admin komentar…
</b:if>

Else If 

Sebelum 

<b:if cond='data:blog.pageType == &quot;item&quot;'>
  <data:post.body/>
<b:else/>
  <b:if cond='data:blog.pageType == &quot;static_page&quot;'>
    <data:post.body/>
  <b:else/>
    <data:post.snippet/>
  </b:if>
</b:if>

Sesudah 

<b:if cond='data:blog.pageType == &quot;item&quot;'>
  <data:post.body/>
<b:elseif cond='data:blog.pageType == &quot;static_page&quot;'>
  <data:post.body/>
<b:else/>
  <data:post.snippet/>
</b:if>

atau…

<b:if cond='data:blog.pageType in {&quot;item&quot;,&quot;static_page&quot;}'>
  <data:post.body/>
<b:else/>
  <data:post.snippet/>
</b:if>

Tambahan 

b:switch, b:case, b:eval, b:withreferensi


Referensi: 

33 Komentar

  • Rizal Nurhidayat

    Blogger tambah mutakhir, ane jadi tambah gk ngerti bang... yang jadul aja blom khatam... :D

  • Unknown

    ganteng sekali postingan ini :D

  • Beben Koben

    Kirain sudah otomatis digantiin langsung ma fihak blogger!
    Harus manual sama kita bos? Penjelasan lebih rinci ah \o/

    • Taufik Nurrohman

      Kalau untuk templat yang masih tidak tersentuh, yang versi bawaan dari Blogger, sudah ada kok beberapa perubahan sedikit di dalam. Paling gampang cek di tag meta viewport.

  • tai

    Sebagian besar kode - kode penting berubah 7:(

  • Alul Stemaku

    mantap jadi bisa lebih singkat nih. tapi rada bingung juga kalau digabung kayak gini.. :D

  • Stellarix

    Masih bingung, tapi postingannya bagus nih buat saya yang newbie :) :D

  • Randi Bouty

    waduh makin kesini makin bingung bang biar di baca ulng ulng soalnya belum pernah liat kodenya :D

  • C

    Menarik om :D

  • Unknown

    Saya masih bingung nih.
    Tapi keren lah...
    Bloggedewek

  • zahrotul wahyudi

    waduh ketinggalan niy.. lama gak kunjungin blog DTE :D
    nuwun alias thankyou...

  • Beben Koben

    Ada yg baru lagi dari buzz ttg tema ini???

  • Damar Zaky

    mantap mas, baru tau udah lama tidak mengikuti dunia koding wehehehe

  • Rully Ardiansyah

    lebih efektif nih sekarang ... oh iya kang mau tanya soalnya udah nanya mbah gugel gk ada jawabannya, misal ada suatu link di dalem post <a href="#link" class="demo">demo</a> kemudian saya mau ambil href nya aja dari link tsb untuk ditampilkan di posting bagian homepage,, kira-kira kodenya kaya gimana ya ?? mohon bantuannya

    • Taufik Nurrohman

      Diaktifkan saja fitur tautan judul, bawaan dari Blogger mas…

      • budkalon

        Saya mau nyambungin, nih, Gan. Kan kalau di blog DTE ini, setiap pos yang punya tautan judul tuh suka ada ikon khususnya, nah, bagaimana cara mendeteksinya? Supaya kalau pos yang memiliki tautan judul dapat memiliki kelas khusus di halaman home. Apakah ada tag blogger khusus atau harus pake JS?

        • Taufik Nurrohman

          Begini mas…

          <b:if cond='data:post.link'>
          <span class='badge'>Tautan</span>
          </b:if>
          • IRIL SAGITA

            Mantab nih, lagi nyari2 di bahas disini, tank's ?

  • Anonim

    Info yang sangat bermanfaat, terutama saya sangat senang dengan ternary selector, jadi tidak perlu manipulasi dengan decode elemen HTML untuk membuat atribut kondisional pada laman tertentu..

    • Taufik Nurrohman

      Menurut Saya yang paling efisien itu ada di membership, jadi bisa lebih irit baris kode.

  • budkalon

    Kang, kalau artikel mengenai tag kondisional blogger seperti <b:if/>, <b:ifelse/>, dan <b:else/> kan sudah banyak, nah, saya boleh, gak, request artikel mengenai tag-tag blogger lainnya seperti <b:switch/>, <b:eval/>, dan <b:with/>? :D
    Saya nyari referensi dan tutorial di web lain, tapi yang ada bukan untuk tag blogger.

    • Taufik Nurrohman

      Tidak ketemu di mana-mana karena sintaks Blogger yang seperti itu memang tidak ada. Kalau di sini ada.

      • budkalon

        Udah ketemu, Kang. Walaupun gak terlalu komplit :) https://support.google.com/blogger/answer/46995

  • Damar Zaky

    buat komentar admin kayaknya lebih enak pake ini deh mas <b:if cond='data:comment.authorClass'>

    • Taufik Nurrohman

      Sepertinya iya mas. Jadi tidak tergantung pada karakter/teks pada nama pengarang. Posting dengan nama penulis yang berbeda jadi bisa menyesuaikan diri.

  • Anonim

    Ganteng banget B)

  • Rully Ardiansyah

    mau tanya lagi mas, kalau untuk costum url gimana yah?
    Misal: hanya ingin menampilkan ABC hanya pada halaman Domain.TLD/p/halaman.html

  • budkalon

    Tabel Konten
    1. Operator lambda 

    Kang, ada yang baru dari blogger, nih. Lumayan buat perbendaharaan :)

    Operator lambda 

    Lambda expressions are useful when you want to check if a condition is true for one, all, or none of the items in a set. You can also use it to filter a set of items, or map a set of items to a new set.

    Tautan: [url=https://productforums.google.com/forum/#!topic/blogger/l3phi8bscGY;context-place=forum/blogger]Blogger Help Forum,
    Lambda expression[/url]

    • Taufik Nurrohman

      Menarik mas. Ini lagi → https://productforums.google.com/forum/#!topic/blogger/4R_sAkgZH9I;context-place=topicsearchin/blogger/resize|sort:date (mengubah ukuran gambar tanpa JavaScript).

  • Widia Gustiawati

    Mas saya pernah lihat ada Orang yang jual template Blogger di temforest, terus dia nawarin fitur Advance setting (layout, color dll,) tapi bukan bawaan blogger, apa itu mungkin menambahkan sebuah panel setting baru di dasboard blogger?
    Ada referensinya gak mas?

    ini template yang saya maksud
    http://themeforest.net/item/surface-responsive-magazine-blogger-theme/15877093?s_rank=2

  • IRIL SAGITA

    Sebelumnya, Minal aidzin walfaidzin mohon maaf lahir dan batin ya kak ?

    Ini saya mau tanya, jika yg ini :
    <b:if cond='data:blog.pageType == &quot;item&quot;'>
    Tampilan posting di halaman Depan
    </b:if>
    <b:if cond='data:blog.searchQuery'>
    Tampilan posting di halaman search
    </b:if>
    <b:if cond='data:blog.searchLabel'>
    Tampilan posting di halaman Label
    </b:if>

    Apakah bisa jika gini :
    <i rel="pre">&lt;b:if cond='data:blog.pageType == &amp;quot;item&amp;quot;'&gt;
    Tampilan posting di halaman Depan
    &lt;/b:if&gt;
    <b:if cond='data:blog.pageType in {&quot;searchQuery&quot;,&quot;searchLabel&quot;}'>
    Tampilan posting di halaman search dan label
    &lt;/b:if&gt;
    </i>

    Moon pencerahannya kak ?

Komentar telah ditutup.