Tag Kondisi Blogspot URL Khusus Halaman tertentu yang Efisien

Diposkan: 10 April, 2015
Sudah sejak lama kita puter puter mencari conditional tag blog yang mengkhususkan url tertentu. Namun dari yang kita temui rata rata sama.

Contoh conditional tag blogspot URL tertentu :

<b:if cond='data:blog.url == &quot;http//namablog.blogspot.com/p/URL-Khusus-Halaman.html&quot;'>
// 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.

Sedikit berbagi tips yang ingin menggunakan tag conditional khusus URL tertentu:

<b:if cond='data:blog.canonicalUrl == data:blog.canonicalHomepageUrl + &quot;p/Nama-Halaman.html&quot;'>
// 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 + &quot;p/Nama-Halaman.html&quot;'>

<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;..............................
Untuk Laman tertentu 


<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>

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>

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

2 komentar

  1. apa dengan tag ini bisa mengkondisikan 2 template blogspot bekerja dalam satu domain sekaligu?

    BalasHapus
    Balasan
    1. Tidak 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.

      Katakan 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)..

      Hapus