Juli 16, 2009

Fusion Tutorial Series: Hello World

Posted in komputer pada 8:25 am oleh fuad

Step Dasar membuat aplikasi dengan drupal dan Fusion tanpa memakai resource database

Prerequisite: – Dapat membuat modul drupal sederhana

Skenario Tutorial Membuat module hello world yang mempunyai 4 url, yaitu: – helloworld/greeting – helloworld/greeting/morning – helloworld/greeting/noon – helloworld/greeting/night Modul ini tidak membutuhkan resource database sama sekali

Tujuan tutorial – Paham tentang struktur direktori dan file applikasi berbasis Fusion – Paham tentang flow applikasi – Dapat membuat file2 object dasar yang dibutuhkan oleh applikasi – Mengetahui tentang controller object


1. Membuat drupal module “helloworld

1. Buat folder dengan struktur berikut di bawah sites/all/modules/ Case Sensitive!, folder Controller dan Model menggunakan huruf besar pada huruf pertama.

\_helloworld
  \_classes
    \_Controller
    \_Model
  \_assets

2. Buat file standar drupal yang diperlukan. Untuk contoh ini, buat file berikut: helloworld.info yang berisi:

; $id$
name = Hello World
description = Sample application for Fusion demo
package = test
version = 1.0
; isi dependencies dengan fusion agar modul fusion di load oleh drupal terlebih dahulu
dependencies = fusion

helloworld.module yang berisi:

<?php
function helloworld_menu($may_cache) {
  $items = array();

  if($may_cache) {
    $items[] = array(
      'path' => 'helloworld/greeting',
      'title' => 'Fusion Tutorial Package',
      'callback' => 'fusion_dispatcher',
      'access' => TRUE
    );
    $items[] = array(
      'path' => 'helloworld/greeting/morning',
      'title' => 'Good Morning',
      'callback' => 'fusion_dispatcher',
      'access' => TRUE
    );
    $items[] = array(
      'path' => 'helloworld/greeting/noon',
      'title' => 'Good Noon',
      'callback' => 'fusion_dispatcher',
      'access' => TRUE
    );
    $items[] = array(
      'path' => 'helloworld/greeting/night',
      'title' => 'Good Night',
      'callback' => 'fusion_dispatcher',
      'access' => TRUE
    );
  }

  return $items;
}

– properti path pada menu drupal didasarkan pada konvensi “moduleName/controllerFileName/[action]”. Bila action pada path tidak ada, maka action = index – callback properti di set ke fusion_dispatcher. Fungsi fusion_dispatcher inilah yang nantinya akan menentukan controller class name dan action berdasarkan path

II Membuat applikasi Object Oriented

1. Membuat controller Buat file Greeting.php di bawah folder Controller yang dibuat pada step I.1

<?php
class Helloworld_Controller_Greeting extends Fusion_Controller {

  //tutorial ini belum membutuhkan database
  //jadi set properti hasModel dengan false
  var $hasModel = false;

  //scaffolding ada di tutorial db handling.
  //untuk sementara set scaffold dengan false
  var $scaffold = false;

  function index() {
    //called from url 'helloword/greeting' or 'helloworld/greeting/index'
    return 'Hello World. Im from Helloworld_Controller_Greeting::index';
  }

  function morning() {
    //called from url 'helloworld/greeting/morning'
    return 'Good Morning! im from Helloworld_Controller_Greeting::morning';
  }

  function noon() {
    //called from url 'helloworld/greeting/noon'
    return 'Good Noon! im from Helloworld_Controller_Greeting::noon';
  }

  function night() {
    //called from url 'helloworld/greeting/night'
    return 'Good Night! im from Helloworld_Controller_Greeting::night';
  }
}

Selesai! Anda dapat mencoba hasilnya dengan mengaktifkan module hello world terlebih dahulu.

1 Komentar »

  1. miko said,

    mantab deh bro


Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: