Sep
08
2011

CodeIgniter + SiXhEaD.Template

7,062 views

มาแล้วตามคำเรียกร้อง ตัวอย่างการใช้งานกับ CodeIgniter
บทความนี้ประกอบไปด้วย
- CodeIgniter v2.0.3
- SiXhEaD.Template v5.9

อธิบายขั้นตอนกันหน่อย

/application/libraries/
เอา class SiXhEaD.Template.php ไปใส่ใน directory นี้ โดยจะมี class my_template.php อีกตัวมาทำหน้าที่ extends class จาก SiXhEaD Template เพื่อใช้งานกับ CodeIgniter
- my_template.php
- SiXhEaD.Template.php

ไฟล์ my_template.php

  1.  
  2. <?php if (!defined('BASEPATH')) exit('No direct script access allowed');
  3.  
  4. require_once( APPPATH.'libraries/SiXhEaD.Template.php' );
  5.  
  6. class MY_Template extends Template {
  7.  
  8. public function __construct($params)
  9. {
  10. $template_file = $params['template_file'];
  11. parent::__construct($template_file);
  12. $this->set_global(FALSE);
  13. }
  14. }
  15.  

/application/views/
วางไฟล์ template ต่างๆ (.html, .xml) โดย template นี้เอามาจาก demo ที่มากับชุด SiXhEaD.Template v5.9
- _tp_demo.index.html
- _tp_demo.simple.html
- _tp_demo.feeds.xml

/application/controllers/
- sixhead.php

ไฟล์ sixhead.php

  1.  
  2. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  3.  
  4. class Sixhead extends CI_Controller {
  5.  
  6. public function index()
  7. {
  8. $params = array('template_file' => APPPATH . 'views/_tp_demo.index.html');
  9. $this->load->library('my_template',$params);
  10.  
  11. $this->my_template->block("data");
  12. for ($i=1;$i<=5;$i++) {
  13. $this->my_template->assign("i", $i);
  14. $this->my_template->apply();
  15. }
  16.  
  17. $this->my_template->display();
  18. }
  19.  
  20. public function simple()
  21. {
  22. $params = array('template_file' => APPPATH . 'views/_tp_demo.simple.html');
  23. $this->load->library('my_template',$params);
  24.  
  25. $this->my_template->block("table1");
  26. for ($i=1;$i<=5;$i++) {
  27. $this->my_template->assign("column1", $i);
  28. $this->my_template->assign("column2", $i);
  29. $this->my_template->assign("column3", $i);
  30. $this->my_template->assign("column4", $i);
  31. $this->my_template->assign("column5", $i);
  32. $this->my_template->apply();
  33. }
  34.  
  35. $DateTime = date("Y-m-d H:i:s");
  36. $this->my_template->assign("DateTime", $DateTime);
  37. $this->my_template->display();
  38. }
  39.  
  40. public function feeds()
  41. {
  42. $params = array('template_file' => APPPATH . 'views/_tp_demo.feeds.xml');
  43. $this->load->library('my_template',$params);
  44.  
  45. $this->my_template->block("items");
  46. for ($i=1;$i<=5;$i++) {
  47. $title = "Title $i";
  48. $description= "Description $i";
  49. $url = "http://domain.com/php.php?Id=$i";
  50.  
  51. $this->my_template->assign("title", $title);
  52. $this->my_template->assign("description", $description);
  53. $this->my_template->assign("url", $url);
  54. $this->my_template->apply();
  55. }
  56.  
  57. header("Content-Type: text/xml; charset=UTF-8");
  58. $this->my_template->display();
  59. }
  60.  
  61. }
  62.  

ตัวอย่าง 1
ตัวอย่าง 2
ตัวอย่าง 3

Download ทั้งชุด ได้ที่นี่


Written by Pipo in: Developer | Tags: , ,

No Comments »

RSS feed for comments on this post. TrackBack URL

Leave a comment

Page 1 of 11

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes