Internet Explorer 6 Shit!!!
July 28th, 2008
hook_nodeapi() — Callback yg cool bangetzz
July 15th, 2008
Hello eperibadeh… kali ini saya maw sharing tentang stuff-stuff drupal. Apa itu? itu adalah sebuah API dari drupal untuk semacam callback bernama hook_nodeapi() .
Lalu apa gunanya function / callback ini? hook_nodeapi() adalah sebuah function yang handling semua kegiatan Create, Read, Update, Delete ( C.R.U.D ) pada semua tipe kontent yang ada di drupal. Mulai dari tipe kontent built-in ataupun custom kontent yang buat melalui modul Content Construction Kit ( CCK ).
Ummm…apa yaaa yang bisa kita lakukan dengan callback ini? Sebagai contoh kasus, saya pakai kasus saya yang kemarin yang memanfaatkan callback ini.
Saya meng-inginkan setiap saya memasukkan content baru pada sebuah tipe konten custom yang saya buat melalui CCK, title dari konten tersebut otomatis menjadi sebuah Term dari sebuah Category. Ok, saya punya kategori bernama Kelompok Tani . Terms dari kategori Kelompok Tani adalah nama-nama kelompok tani. Jadi tipe konten custom yang saya buat itu menyimpan data-data detail dari sebuah kelompok tani, dan nama tipe konten custom saya itu kelompoktani . Dan nanti , title-nya saya jadikan term sebuah kategori. Umm..cukup jelas ?
Trus? dimana kita memanggil hook_nodeapi() supaya kita bisa menambahkan logic baru pada proses C.R.U.D yang terjadi. Untuk dapat memanfaatkan hook_nodeapi() kita harus membuat sebuah modul baru. Disini tidak saya jelaskan bagaimana membuat modul baru karena, itu ada dalam tulisan saya yang lain tentang dasar-dasar pembuatan modul baru. Mana?? hehe mangaapp yaakk blom tak tulis
Ok, langsung aja. Buat folder bernama nama_module, lalu file dengan nama nama_modul.info dan nama_modul.module . Kita pakai contoh kasus saya. Modul saya bernama title_goto_terms, dan dua buah file bernama title_goto_terms.info dan title_goto_terms.module .
Isi file title_goto_terms.info :
; $Id $
name = “Title go to terms”
description = “Automatically made title of a content type became term of a category”
version = VERSION
Isi file title_goto_terms.module :
- <?php
- // $Id$
- function title_goto_terms_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) {
- if ($op == 'view') {
- if ($node->type == 'kelompoktani') {
- $term = array();
- $term['name'] = $node->title;
- $term['vid'] = 4;
- taxonomy_save_term($term);
- }
- }
- }
Ok… jadi dehh… tinggal masuk ke Administer –> Modules –> aktifkan module yang baru saja kita buat.