ตัวอย่างการทำ template สำหรับ codeigniter สไตล์ของ TeKingDoM


หลังจากที่ห่างหายไปนาน ทั้งงานเยอะและก็เรื่องสุขภาพ วันนี้ผมจะมานำเสนอวิธีการวางโครงสร้าง template ของ codeigniter ตามแบบฉบับของผม การวางส่วนต่างๆ ของหน้าเว็บและเทคนิควีธีการเรียก view template โดยผมพยายามทำในรูปแบบที่เข้าใจให้ง่ายที่สุด และก็ แสดงตัวอย่างการเรียก ข้อมูลจาก database ตามรูปแบบโครงสร้าง template ของผมมาด้วย

เทคนิคในการทำ Template ของผมก็คือ การโหลด View ซ้อน View โดย Controller จะเรียก View ตัวแรกที่ถูกสร้างเป็น Template ขึ้นมา แล้วข้อมูลการแสดงผลในหน้าข้อมูลจะถูกส่งผ่านในรูปแบบของ Array ไปให้ยัง View ตัวที่ 2 รูปแบบที่ส่งไปมีทั้งแบบข้อความ แบบเรียก View อีกตัวมาแสดง และก็แบบเรียก View อีกตัวพร้อมส่งตัวแปรไปด้วย การทำงานแบบนี้ทำให้เราสามารถ แก้ใขแท็ก meta ของแต่ละหน้าได้อย่างอิสระอีกด้วย

class Welcome extends CI_Controller {

    public function index()
    {
        $data['content_view'] = 'welcome';
        $this->load->view('default',$data);
    }

    public function page()
    {
        $data['content_text'] = 'ข้องความ บลาๆๆๆๆ';
        $this->load->view('default',$data);
    }

     public function product()
    {
        $data['content_view'] = 'product';
        $data['content_data'] = array('q'=>$this->db->get('product'));
        $this->load->view('default',$data);
    }
}
การทำงานแต่ละฟังชั่นเป็นดังนี้
index ให้ไปเรียก View ที่ชื่อ welcome มาแสดง
page ส่งข้อความไปแสดงที่หน้าเพจ
product ให้ไปเรียก View ที่ชื่อ product มาแสดง และส่ง result ฐานข้อมูล ไปยัง view ด้วย

โค้ด PHP ในหน้า View ที่เป็น Template

if(isset($content_text)){echo $content_text;} if(isset($content_view) && !isset($content_data)){ $this->load->view($content_view); } if(isset($content_view) && isset($content_data)){ foreach($content_data as $key => $value){ $data[$key] = $value; } $this->load->view($content_view,$data); }

ดาวน์โหลด sample template

ดาวน์โหลดตัวอย่างได้ที่

http://codeigniter.in.th/downloads/codes/ci_template.rar

หากมีปัญหาหรือข้อสอบถาม ไปคุยกันได้ในบอร์ดตามที่อยู่ลิ้งนี้
คุณกันได้ที่นี่