Baru-baru ini Blogger telah merilis beberapa operator gres untuk sintaks XML mereka. Sintaks gres ini memungkinkan kita untuk sanggup menulis isyarat templat yang lebih baik, lebih logis dan lebih efisien. Selain sanggup mengurangi ukuran berkas XML, sintaks gres ini juga memungkinkan para pengembang untuk sanggup menemukan potensi-potensi gres dalam memanipulasi isyarat templat Blogger yang dulu sebagian besar hanya sanggup kita lakukan dengan JavaScript. Berikut ini yakni 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 acuan 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