Filter Label

Panduan Lengkap Mengolah Label di Blogger XML

Saat membuat template Blogger, label tidak hanya berfungsi sebagai kategori postingan. Label juga dapat dimanfaatkan sebagai Genre, Studio, Season, Tipe Anime, Status, Tahun Rilis, dan informasi lainnya.

Pada tutorial ini kita akan mempelajari cara menggunakan data:post.labels, <b:loop>, <b:if>, contains, dan in.


1. Menampilkan Semua Label

Gunakan data:post.labels untuk mengambil semua label.

<b:loop values='data:post.labels' var='label'>
  <a expr:href='data:label.url'>
    <data:label.name/>
  </a>
</b:loop>

2. Menampilkan Label Tertentu

Contoh hanya menampilkan label Movie dan TV.

<b:loop values='data:post.labels' var='label'>
  <b:if cond='data:label.name == "Movie" or data:label.name == "TV"'>
    <span><data:label.name/></span>
  </b:if>
</b:loop>

3. Menggunakan Operator in

Operator in digunakan untuk mengecek apakah suatu nilai terdapat di dalam sebuah daftar.

<b:if cond='data:label.name in data:TypeAnime'>
  <data:label.name/>
</b:if>

4. Menggunakan contains

Operator contains digunakan untuk mencari sebagian teks.

<b:with value='"String: " + data:label.name' var='string'>
  <b:if cond='data:string contains "MAPPA"'>
    Studio ditemukan.
  </b:if>
</b:with>

5. Mencari Studio dari Daftar

<b:loop values='data:post.labels' var='label'>
  <b:with value='"String: " + data:label.name' var='string'>
    <b:loop values='data:otherStudio' var='studio'>
      <b:if cond='data:string contains data:studio'>
        <a expr:href='data:label.url'>
          <data:label.name/>
        </a>
      </b:if>
    </b:loop>
  </b:with>
</b:loop>

6. Menggabungkan in dan contains

<b:loop values='data:post.labels' var='label'>

  <b:if cond='data:label.name in data:Studio1 or
              data:label.name in data:Studio2 or
              data:label.name in data:Studio3'>

    <a expr:href='data:label.url'>
      <data:label.name/>
    </a>

  <b:else/>

    <b:with value='"String: " + data:label.name' var='string'>
      <b:loop values='data:otherStudio' var='studio'>
        <b:if cond='data:string contains data:studio'>
          <a expr:href='data:label.url'>
            <data:label.name/>
          </a>
        </b:if>
      </b:loop>
    </b:with>

  </b:if>

</b:loop>

Perbedaan Operator

Operator Fungsi
== Membandingkan dua nilai yang sama persis.
in Mengecek apakah suatu nilai ada di dalam daftar.
contains Mengecek apakah sebuah teks mengandung teks lain.

Kesimpulan

Dengan memanfaatkan data:post.labels, <b:loop>, <b:if>, contains, dan in, Anda dapat membuat berbagai fitur pada template Blogger seperti Genre, Studio, Season, Status, hingga Tipe Anime tanpa memerlukan JavaScript tambahan.

Daftar Variabel Studio untuk Blogger XML

Agar proses filter studio lebih mudah, kita dapat membagi daftar studio ke dalam beberapa variabel, misalnya Studio1, Studio2, Studio3, serta otherStudio.

Pembagian ini juga membantu menghindari penulisan daftar yang terlalu panjang dalam satu variabel sehingga template lebih mudah dibaca dan dikelola.

Studio1

Berisi daftar studio anime populer.

<b:with value='[
"A-1 Pictures",
"8bit",
"A.C.G.T",
"Actas",
"Bibury Animation Studios",
"Bones",
"Brain's Base",
"C2C",
"CloverWorks",
"David Production",
"Doga Kobo",
"EMT Squared",
"ENGI",
"Feel",
"GoHands"
]' var='Studio1'>

Studio2

Tambahkan studio lainnya pada variabel kedua.

<b:with value='[
"J.C.Staff",
"Kinema Citrus",
"Kyoto Animation",
"Lerche",
"LIDENFILMS",
"Madhouse",
"MAPPA",
"Nexus",
"OLM",
"P.A.Works",
"Passione",
"Pierrot",
"Production I.G"
]' var='Studio2'>

Studio3

Daftar studio tambahan.

<b:with value='[
"Satelight",
"Shaft",
"Shin-Ei Animation",
"Silver Link",
"Studio Bind",
"Studio Deen",
"Studio Ghibli",
"Studio Kai",
"Sunrise",
"SynergySP",
"TMS Entertainment",
"Toei Animation",
"Troyca",
"Ufotable",
"Wit Studio"
]' var='Studio3'>

otherStudio

Variabel ini digunakan sebagai fallback untuk mendeteksi studio yang belum ada pada daftar Studio1, Studio2, maupun Studio3.

<b:with value='[
"Studio",
"Animation",
"Animations",
"Pictures",
"Production",
"Productions",
"Entertainment",
"Works",
"Project",
"Factory",
"Film",
"Films",
"Visual",
"Art",
"Lab"
]' var='otherStudio'>

Cara Menggunakannya

Setelah variabel di atas dibuat, Anda dapat menggunakannya untuk melakukan pengecekan apakah label postingan termasuk daftar studio utama atau hanya mengandung kata kunci tertentu.

<b:loop values='data:post.labels' var='label'>

  <b:if cond='data:label.name in data:Studio1
      or data:label.name in data:Studio2
      or data:label.name in data:Studio3'>

    <a expr:href='data:label.url' rel='tag'>
      <data:label.name/>
    </a>

  <b:else/>

    <b:with value='"String: " + data:label.name' var='string'>
      <b:loop values='data:otherStudio' var='studio'>

        <b:if cond='data:string contains data:studio'>

          <a expr:href='data:label.url' rel='studio'>
            <data:label.name/>
          </a>

        </b:if>

      </b:loop>
    </b:with>

  </b:if>

</b:loop>

Hasil:

  • Jika label adalah MAPPA, Bones, atau Kyoto Animation, maka akan langsung dikenali melalui Studio1, Studio2, atau Studio3.
  • Jika label adalah Orange Studio, Felix Film, atau Yokohama Animation Lab, maka akan dikenali melalui otherStudio karena mengandung kata seperti Studio, Animation, Film, atau Lab.
Tips: Anda dapat menambahkan studio baru ke dalam Studio1, Studio2, atau Studio3 kapan saja. Jika belum sempat menambahkannya, otherStudio tetap dapat membantu mendeteksi sebagian besar nama studio secara otomatis.

Komentar