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;
- Untuk konfigurasi lengkap PHP tidy dapat dilihat disini: http://tidy.sourceforge.net/docs/quickref.html
- Kemudian pilih tab System Events, cari dan kemudian centang: OnWebPagePrerender
- Save
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.
