Sudah sejak lama kita puter puter mencari
conditional tag blog yang mengkhususkan url tertentu. Namun dari yang kita
temui rata rata sama.
<b:if cond='data:blog.url == "http//namablog.blogspot.com/p/URL-Khusus-Halaman.html"'>
// Sesuatu..
</b:if>
// Sesuatu..
</b:if>
Jelasnya dengan kondisi di atas adalah
mengkhususkan halaman URL page tertentu. Tapi sekarang yang menjadi pertanyaan
adalah bagaimana jika suatu saat blognya tersebut mengcustom domain, apakah
masih bekerja atau tidak.
Karena pada dasarnya namasubdomain blogspot
tersebut telah berubah, seiring dengan blog tersebut telah menginangi domainnya
sendiri (custom domain). Atau unsur kebalikannya.
<b:if cond='data:blog.canonicalUrl == data:blog.canonicalHomepageUrl + "p/Nama-Halaman.html"'>
// Sesuatu......
// Ilustrasi kesetaraan nilai...
http://namablog.blogspot[.]com/p/Nama-Halaman.html == http://namablog.blogspot[.]com/ + "p/Nama-Halaman.html"
// Atau..
http://namablog.blogspot[.]com/p/Nama-Halaman.html setara dengan http://namablog.blogspot[.]com/ + "p/Nama-Halaman.html"
</b:if>
// Sesuatu......
// Ilustrasi kesetaraan nilai...
http://namablog.blogspot[.]com/p/Nama-Halaman.html == http://namablog.blogspot[.]com/ + "p/Nama-Halaman.html"
// Atau..
http://namablog.blogspot[.]com/p/Nama-Halaman.html setara dengan http://namablog.blogspot[.]com/ + "p/Nama-Halaman.html"
</b:if>
Pembagian kedalam tiga versi
<b:if cond='data:blog.canonicalUrl == data:blog.canonicalHomepageUrl + "p/Nama-Halaman.html"'>
<b:if cond='data:blog.isMobile'>
// mobile..
<b:else />
<b:if cond='data:blog.url == data:blog.canonicalUrl'>
// normal..
<b:else />
// desktop..
</b:if>
</b:if>
</b:if>
<b:if cond='data:blog.isMobile'>
// mobile..
<b:else />
<b:if cond='data:blog.url == data:blog.canonicalUrl'>
// normal..
<b:else />
// desktop..
</b:if>
</b:if>
</b:if>
Dengan satu kondisional untuk tiga hal (mobile, normal, desktop), lebih cepat dan simpel. Yaitu dengan menggunakan No Identitas Page (Laman) atau Post(Posting).
Seperti link jika ingin mengedit Pos atau page, pasti memiliki No Identitas Blog, pos, dan page.
Contoh link editor pos dan laman
- https://www[dot]blogger[dot]com/blogger.g?....ID=NIB..........postingID=No_Identitas_Pos;............................
- https://www[dot]blogger[dot]com/blogger.g?....ID=NIB..........lamanID=No_Identitas_laman;..............................
<b:if cond='data:blog.pageId == "no_Identitas_Laman"'>
// Satu laman dengan No Identitas tertentu....
</b:if>
<b:if cond='data:blog.pageId in {"no_Id_Laman1", "no_Id_Laman2", "dan-seterusnya"}'>
// lebih dari satu laman dengan No Identitas tertentu....
</b:if>
// Satu laman dengan No Identitas tertentu....
</b:if>
<b:if cond='data:blog.pageId in {"no_Id_Laman1", "no_Id_Laman2", "dan-seterusnya"}'>
// lebih dari satu laman dengan No Identitas tertentu....
</b:if>
Untuk Posting tertentu
<b:if cond='data:blog.postId == "no_Identitas_Posting"'>
// Satu posting dengan No Identitas tertentu....
</b:if>
<b:if cond='data:blog.postId in {"no_Id_pos1", "no_Id_pos2", "dan-seterusnya"}'>
// lebih dari satu posting dengan No Identitas tertentu....
</b:if>
// Satu posting dengan No Identitas tertentu....
</b:if>
<b:if cond='data:blog.postId in {"no_Id_pos1", "no_Id_pos2", "dan-seterusnya"}'>
// lebih dari satu posting dengan No Identitas tertentu....
</b:if>
Yaaa kira kira triknya untuk blogspot mengkhususkan URL halaman dengan conditional blog yang lebih efisien, dan apabila suatu saat menginangi domainnya, masih bekerja tanpa merubah urlnya, dan begitu pula unsur kebalikannya.
Catatan :
- No postId dan pageId adalah nomer identitas yang unik.
- Contoh No Id pos ini adalah = "1699031243458317396".
- Sedangkan bila ingin penggabungan tag kondisi dalam satu set atau array, bisa lihat pada posting Buzz Blogger - Adding new expressions to Blogger templates (mungkin maksudnya: Menambahkan ekspresi bahasa template Blogger yang baru) [ halaman bahasa Inggris, silahkan terjemahkan ]
# Diedit-ulang - 30 Mei 2016
apa dengan tag ini bisa mengkondisikan 2 template blogspot bekerja dalam satu domain sekaligu?
BalasHapusTidak bisa, jikalau bisa pun hanya terjadi pada 1 halaman atau posting tertentu saja, tapi mungkin dapat menggunakan (data:blog.id). Seandainya kamu memakai templatenya bawaan dari blogger, kamu bisa.
HapusKatakan lah tadinya template PT Keren lalu ganti template Sederhana atau yg lainnya, ketika kembali lagi ke template sebelumnya lebih mudah.
Karena hanya di tukar pengaturan CSS-nya(gaya model masing2 template) sedangkan kerangka dalam tag body sama. Kecuali template-template tertentu yang terjadi perubahan secara signifikan css & susunan element html didalam tag body(misalnya template dinamis).
Kalau memuat 2 buah template dalam 1 edit HTML tidaklah EFISIEN. Bila memang terpaksa, bisa dengan mengubah-ubah css, javascript dllnya di dalam tag head & body dengan modelnya masing-masing.
[html]
[head]
[b:if cond='data:blog.id == "no-id-blogsaya"']
// css / javascript gaya template 1...
[b:else /]
// css / javascript gaya template 2...
[/b:if]
[/head]
[body]
// elemen html dll..
[/body]
[/html]
Sedangkan penggunaannya cukup mengubah ubah string (no-id-blogsaya), agar sama atau tidak sama(perbandingannya meleset maksudnya)..