Pemutakhiran Sintaks dan Operator XML Blogger 2015
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 > 10'>
Hasil pencarian dengan jumlah posting lebih dari 10…
</b:if>
</b:if>
Sesudah
<b:if cond='data:blog.searchQuery and data:numPosts > 10'>
Hasil pencarian dengan jumlah posting lebih dari 10…
</b:if>
<b:if cond='data:blog.searchQuery && data:numPosts > 10'>
Hasil pencarian dengan jumlah posting lebih dari 10…
</b:if>
Or
Sebelum
<b:if cond='data:blog.pageType == "index"'>
Lolos tes…
</b:if>
<b:if cond='data:blog.pageType == "item"'>
Lolos tes…
</b:if>
Sesudah
<b:if cond='data:blog.pageType == "index" or data:blog.pageType == "item"'>
Lolos tes…
</b:if>
<b:if cond='data:blog.pageType == "index" || data:blog.pageType == "item"'>
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 == "false"'>
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 "false"'>
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 ! "false"'>
Komentar yang tidak terhapus di sini…
</b:if>
Yang ini bisa:
<b:if cond='not data:comment.isDeleted == "false"'>
Komentar yang tidak terhapus di sini…
</b:if>
<b:if cond='!data:comment.isDeleted == "false"'>
Komentar yang tidak terhapus di sini…
</b:if>
Ternary Selector
Sebelum
<html class='<b:if cond='data:blog.pageType == "item"'>
page-item
<b:else/>
page-non-item
</b:if>'>
…
</html>
Sesudah
<html expr:class='data.blog.pageType == "item" ? "page-item" : "page-non-item"'>
…
</html>
<html expr:class='"page-" + (data.blog.pageType == "item" ? "" : "non-") + "item"'>
…
</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 == "Taufik Nurrohman"'>
Admin komentar…
</b:if>
<b:if cond='data:comment.author == "Taufik"'>
Admin komentar…
</b:if>
<b:if cond='data:comment.author == "Admin"'>
Admin komentar…
</b:if>
Sesudah
<b:if cond='data:comment.author in {"Taufik Nurrohman","Taufik","Admin"}'>
Admin komentar…
</b:if>
<b:if cond='data:comment.author in ["Taufik Nurrohman","Taufik","Admin"]'>
Admin komentar…
</b:if>
<b:if cond='{"Taufik Nurrohman","Taufik","Admin"} contains data:comment.author'>
Admin komentar…
</b:if>
<b:if cond='["Taufik Nurrohman","Taufik","Admin"] contains data:comment.author'>
Admin komentar…
</b:if>
Else If
Sebelum
<b:if cond='data:blog.pageType == "item"'>
<data:post.body/>
<b:else/>
<b:if cond='data:blog.pageType == "static_page"'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
</b:if>
Sesudah
<b:if cond='data:blog.pageType == "item"'>
<data:post.body/>
<b:elseif cond='data:blog.pageType == "static_page"'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
atau…
<b:if cond='data:blog.pageType in {"item","static_page"}'>
<data:post.body/>
<b:else/>
<data:post.snippet/>
</b:if>
Tambahan
b:switch
, b:case
, b:eval
, b:with
— referensi
33 Comments:
Blogger tambah mutakhir, ane jadi tambah gk ngerti bang... yang jadul aja blom khatam... :D
ganteng sekali postingan ini :D
Kirain sudah otomatis digantiin langsung ma fihak blogger!
Harus manual sama kita bos? Penjelasan lebih rinci ah \o/
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.
Sebagian besar kode - kode penting berubah 7:(
mantap jadi bisa lebih singkat nih. tapi rada bingung juga kalau digabung kayak gini.. :D
Masih bingung, tapi postingannya bagus nih buat saya yang newbie :) :D
waduh makin kesini makin bingung bang biar di baca ulng ulng soalnya belum pernah liat kodenya :D
Menarik om :D
Saya masih bingung nih.
Tapi keren lah...
[url=http://bloggedewek.blogspot.com] Bloggedewek [/url]
waduh ketinggalan niy.. lama gak kunjungin blog DTE :D
nuwun alias thankyou...
Ada yg baru lagi dari buzz ttg tema ini???
mantap mas, baru tau udah lama tidak mengikuti dunia koding wehehehe
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
Diaktifkan saja fitur tautan judul, bawaan dari Blogger mas…
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..
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?
Begini mas…
<b:if cond='data:post.link'>
<span class='badge'>Tautan</span>
</b:if>
Menurut Saya yang paling efisien itu ada di membership, jadi bisa lebih irit baris kode.
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.
Tidak ketemu di mana-mana karena sintaks Blogger yang seperti itu memang tidak ada. Kalau di sini ada.
Udah ketemu, Kang. Walaupun gak terlalu komplit :) https://support.google.com/blogger/answer/46995
Sippp mas!!!
buat komentar admin kayaknya lebih enak pake ini deh mas <b:if cond='data:comment.authorClass'>
Sepertinya iya mas. Jadi tidak tergantung pada karakter/teks pada nama pengarang. Posting dengan nama penulis yang berbeda jadi bisa menyesuaikan diri.
Ganteng banget B)
mau tanya lagi mas, kalau untuk costum url gimana yah?
Misal: hanya ingin menampilkan ABC hanya pada halaman Domain.TLD/p/halaman.html
→ /2011/08/tag-kondisional-tingkat-lanjut.html
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]
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).
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
Mantab nih, lagi nyari2 di bahas disini, tank's ?
Sebelumnya, Minal aidzin walfaidzin mohon maaf lahir dan batin ya kak ?
Ini saya mau tanya, jika yg ini :
<b:if cond='data:blog.pageType == "item"'>
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"><b:if cond='data:blog.pageType == &quot;item&quot;'>
Tampilan posting di halaman Depan
</b:if>
<b:if cond='data:blog.pageType in {"searchQuery","searchLabel"}'>
Tampilan posting di halaman search dan label
</b:if>
</i>
Moon pencerahannya kak ?
Post a Comment
<< Home