Penjelasan
Apa itu <b:defaultmarkups> & <b:defaultmarkup>?
Bayangkan Anda membeli sebuah mobil dari pabrikan. Mobil itu sudah datang dengan "paket standar" dari pabriknya: velg standar, sistem audio standar, jok kain standar.
Di Blogger, setiap widget (seperti widget Label, Profil, Postingan Populer) juga datang dengan "paket standar" berupa kode HTML bawaan. Misalnya, widget Label secara default akan ditampilkan sebagai daftar berpoin (<ul><li>...</li></ul>).
Sekarang, bagaimana jika Anda ingin mengubah aturan mainnya? Anda ingin berkata kepada "Pabrikan Blogger":
"Untuk setiap mobil tipe 'Sedan' (widget Label) yang keluar dari pabrikmu, JANGAN gunakan velg standar. Gunakan velg racing yang aku desain ini sebagai standar barunya."
Peran Masing-Masing Tag
<b:defaultmarkups> — Si Pembungkus / Buku Panduan
Tag ini adalah wadah utama atau "buku panduan" tempat Anda mendaftarkan semua aturan kustom Anda. Ia tidak melakukan apa-apa sendirian, tugasnya hanya membungkus semua aturan yang ada di dalamnya.
Analoginya: Ini seperti map (folder) yang berisi semua instruksi desain ulang Anda.
<b:defaultmarkup> — Si Aturan Spesifik
Tag ini adalah satu instruksi spesifik di dalam buku panduan tersebut. Setiap <b:defaultmarkup> menargetkan satu jenis widget tertentu (misalnya widget Label, Profile, PopularPosts) dan mendefinisikan ulang HTML standarnya.
Analoginya: Ini seperti satu lembar instruksi di dalam map, misalnya "Instruksi untuk Widget Label: gunakan desain berikut ini..."
Mengapa Ini Sangat Berguna?
Tanpa <b:defaultmarkups>, jika Anda punya 3 widget Label di blog (satu di sidebar, satu di footer, satu di halaman khusus), Anda harus mengedit kode di dalam ketiga widget tersebut satu per satu.
Dengan <b:defaultmarkups>, Anda cukup menulis aturannya sekali, dan aturan itu berlaku otomatis untuk semua widget bertipe sama di seluruh blog Anda.
Tanpa <b:defaultmarkups> |
Dengan <b:defaultmarkups> |
|---|---|
| Edit widget Label #1 di sidebar | Tulis aturan sekali di <b:defaultmarkup type='Label'> |
| Edit widget Label #2 di footer | (otomatis berlaku untuk semua widget Label) |
| Edit widget Label #3 di halaman lain | (otomatis berlaku untuk semua widget Label) |
| Repot, rawan inkonsistensi | Rapi, konsisten, mudah dikelola ✅ |
Sintak Dasar
Struktur dasarnya adalah tag <b:defaultmarkups> yang membungkus satu atau lebih tag <b:defaultmarkup>. Biasanya, kode ini diletakkan di bagian atas template, seringkali setelah tag penutup </head> dan sebelum tag <body>, atau di posisi tertentu sesuai struktur template.
<b:defaultmarkups>
<!-- Aturan #1: Mengganti HTML standar untuk widget tipe 'Label' -->
<b:defaultmarkup type='Label'>
<b:includable id='main' var='this'>
<!--
Di sinilah Anda mendefinisikan ulang HTML baru untuk widget Label.
Gunakan variabel 'this' untuk mengakses data widget.
-->
</b:includable>
</b:defaultmarkup>
<!-- Aturan #2: Mengganti HTML standar untuk widget tipe 'Profile' -->
<b:defaultmarkup type='Profile'>
<b:includable id='main' var='this'>
<!--
HTML baru untuk widget Profile.
-->
</b:includable>
</b:defaultmarkup>
<!-- Anda bisa menambahkan aturan lainnya di sini -->
</b:defaultmarkups>
Penjelasan Setiap Bagian Sintak
<b:defaultmarkups> ← Pembungkus utama (map/folder)
│
├─ <b:defaultmarkup type='Label'> ← Aturan untuk widget tipe "Label"
│ │
│ └─ <b:includable id='main' var='this'> ← Isi HTML baru untuk widget ini
│ ...kode HTML/XML kustom Anda...
│ </b:includable>
│
│ </b:defaultmarkup>
│
├─ <b:defaultmarkup type='Profile'> ← Aturan untuk widget tipe "Profile"
│ │
│ └─ <b:includable id='main' var='this'> ← Isi HTML baru untuk widget ini
│ ...kode HTML/XML kustom Anda...
│ </b:includable>
│
│ </b:defaultmarkup>
│
</b:defaultmarkups>
Poin penting:
-
<b:includable id='main' var='this'>— Ini adalah bagian terpenting.id='main'berarti Anda sedang mendefinisikan ulang konten utama dari widget tersebut.var='this'adalah nama variabel standar yang digunakan untuk mengakses data widget, sehingga Anda bisa memanggil data sepertidata:this.title,data:this.labels, dan lain-lain.
Atribut yang Bisa Digunakan
Untuk <b:defaultmarkups>
Tag ini adalah pembungkus murni dan tidak memiliki atribut apa pun.
| Atribut | Keterangan |
|---|---|
| (tidak ada) | Tag ini hanya berfungsi sebagai wadah |
Untuk <b:defaultmarkup>
| Atribut | Status | Deskripsi |
|---|---|---|
type |
Wajib | Menentukan tipe widget yang ingin Anda ganti HTML bawaannya. Nilainya adalah nama tipe widget resmi dari Blogger. |
Daftar Nilai type yang Umum Digunakan
Berikut beberapa tipe widget resmi Blogger yang bisa Anda gunakan sebagai nilai atribut type:
Nilai type |
Widget yang Ditargetkan |
|---|---|
Blog |
Widget posting blog utama |
Label |
Widget daftar label/kategori |
Profile |
Widget profil penulis |
PopularPosts |
Widget postingan populer |
Header |
Widget header/judul blog |
PageList |
Widget daftar halaman statis |
LinkList |
Widget daftar tautan/link |
BlogArchive |
Widget arsip blog |
FeaturedPost |
Widget postingan unggulan |
Image |
Widget gambar |
Text |
Widget teks/HTML |
HTML |
Widget HTML/JavaScript |
Nilai
type harus sama persis dengan nama tipe widget yang digunakan Blogger. Penulisan huruf besar-kecil harus sesuai.
Contoh Penggunaan
Contoh 1: Mengubah Widget Label dari Daftar Menjadi Teks Sebaris
Masalah: Secara default, widget Label tampil seperti ini:
• Label Satu
• Label Dua
• Label Tiga
Tujuan: Kita ingin mengubahnya menjadi sebaris teks yang dipisahkan koma dengan penuh:
Label Satu, Label Dua, Label Tiga
Code:
<b:defaultmarkups>
<b:defaultmarkup type='Label'>
<b:includable id='main' var='this'>
<!-- Tampilkan judul widget jika ada -->
<b:if cond='data:this.title'>
<h2><data:this.title/></h2>
</b:if>
<div class='widget-content'>
<span class='label-list'>
<!-- Loop melalui semua label yang ada di widget ini -->
<b:loop values='data:this.labels' var='label'>
<a expr:href='data:label.url' rel='tag'>
<data:label.name/>
</a>
<!-- Tambahkan koma dan spasi, KECUALI untuk label terakhir -->
<b:if cond='!data:label.isLast'>, </b:if>
</b:loop>
</span>
</div>
</b:includable>
</b:defaultmarkup>
</b:defaultmarkups>
Contoh 2: Menyederhanakan Widget Profil
Masalah: Widget Profil bawaan seringkali menampilkan terlalu banyak elemen — foto, nama, lokasi, minat, dan link "Lihat profil lengkap saya".
Tujuan: Kita ingin membuatnya lebih minimalis, hanya foto dan nama.
<b:defaultmarkups>
<b:defaultmarkup type='Profile'>
<b:includable id='main' var='this'>
<div class='profile-widget-simple'>
<b:if cond='data:this.author.profileUrl'>
<a expr:href='data:this.author.profileUrl' rel='author'>
<img expr:src='data:this.author.imageUrl' width='80' height='80'/>
<p class='author-name'><data:this.author.name/></p>
</a>
</b:if>
</div>
</b:includable>
</b:defaultmarkup>
</b:defaultmarkups>
Ringkasan
| Pertanyaan | Jawaban |
|---|---|
Apa fungsi <b:defaultmarkups>? |
Wadah pembungkus untuk semua aturan kustom widget |
Apa fungsi <b:defaultmarkup>? |
Mendefinisikan ulang HTML bawaan untuk satu tipe widget tertentu |
| Atribut wajib? | type pada <b:defaultmarkup> — menentukan tipe widget yang ditargetkan |
| Di mana meletakkannya? | Biasanya di bagian atas template, setelah </head> |
| Keuntungan utama? | Tulis aturan sekali, berlaku untuk semua widget bertipe sama di seluruh blog |
<b:defaultmarkups> sebagai "Sistem Desain" untuk template Anda. Dengan memusatkan semua aturan tampilan widget di satu tempat, template Anda menjadi lebih profesional, konsisten, dan jauh lebih mudah dikelola di kemudian hari.