term
term
term
term

    Pengenalan Plugin: Tidy HTML

  • Oleh : Novriko P. Parhusip
  • Kategori : plugin, tidy html
  • 12 Dec 2011

Plugin adalah sebuah terminologi dalam MODx, yang merupakan sebuah add-on yang berjalan secara otomatis bersamaan dengan arus/proses sistem (System Events), yang kita sesuaikan dengan pada tahap mana kita menginginkan hasil dari sangkutan (hook) add-on ini. Dengan kata lain, plugin tidak dipanggil secara manual seperti halnya snippet.

MODx menjalankan satu halaman websitenya secara lengkap melalui beberapa urutan proses koneksi ke database, dimulai dari pengambilan isi halaman, menerapkannya kedalam sebuah template, kemudian mengkonversi hasil dari element-element (chunk & snippet) yang diterapkan pada halaman tersebut.

Pada prakteknya, pengembang dan desainer MODx banyak menggunakan chunk (yang tidak lain adalah potongan-potongan kecil struktur tag HTML) untuk:

  • menyisipkan hasil-hasil dari snippet;
  • menyimpan potongan header/footer, atau duplikasi
  • menempatkan banner-banner gambar
  • data custom
  • dll/etc

Oleh karena itu, tidaklah mengherankan jika pembuatan struktur HTML pada chunk tidak mengikuti indentation dari halaman induknya (template), karena bisa saja pembuatannya dilakukan terpisah pada file yang berbeda. Soure code HTMLnya menjadi tidak rapi, karena indentation tadi seringkali diabaikan, atau hasil dari snippet yang lebih mementingkan isi dibanding kosmetiknya. Hal ini secara umum adalah lumrah sebagai hasil akhir sebuah CMS yang membedakan sistem program dan sistem template, termasuk MODx.

 

Pada contoh kali ini, saya akan menunjukkan kegunaan plugin bagi MODx, dengan membenahi indentation ini menggunakan PHP Tidy.

Tahapannya adalah:

  • Elements> Plugins > klik kanan > New Plugin
  • Namakan saja dengan nama Tidy
  • Pada isi kode, isikan saja dahulu seperti ini, silahkan sesuaikan menurut konfigurasi PHP yang Anda butuhkan:

if ($modx->event->name == 'OnWebPagePrerender') {
    $html = $modx->resource->_output;
    // Specify configuration
    $config = array(
        'indent' => true,
        'output-xhtml' => true,
        'wrap' => 200);
    // Tidy
    $tidy = new tidy;
    $tidy->parseString($html, $config, 'utf8');
    $modx->resource->_output = $tidy;
}
return;

Setelah Anda menghapus cache website Anda (Site> Clear Cache), coba lihat source codenya. Hasilnya akan lebih rapi.

Hasil ini akan berlaku pada seluruh konten dari website Anda.

Demikianlah tutorial kali ini, semoga bermanfaat.


Comments

blog comments powered by Disqus