Kết quả 1 đến 1 của 1
  1. #1
    Super Moderator tinhphaistc's Avatar
    Ngày tham gia
    01-03-2013
    Bài viết
    693
    Cảm ơn
    244
    Được cảm ơn 278 trong 210 bài viết

    Hưỡng dẫn sử dụng Layout - Codeigniter trong hệ thống lớn.

    Biên soạn: Giảng Viên Bùi Quốc Huy
    Ngày ra mắt : 10-07-2011
    Độ khó: Am hiểu Codeigniter.
    Yêu cầu: Trình độ PHP framework trở lên
    Lẽ ra tôi không tính viết bài hưỡng dẫn này, vì trước đó đã có bài hưỡng dẫn của windy về việc sử dụng CI layout rồi. Tùy rằng cách đó chưa thật sự tối ưu. Nhưng ít nhiều đã đáp ứng được phần nào của yêu cầu công việc.

    Cách mà tôi sắp trình bày dưới đây, cũng là cách mà các cms đang sử dụng. Các bạn có thể mở source của các hệ thống này để quan sát thì ắt sẽ rõ về phương pháp cũng như cách giải quyết vấn đề của họ.

    Đầu tiên tôi có một layout đơn giản như sau:

    Hưỡng dẫn sử dụng Layout - Codeigniter trong hệ thống lớn.

    Các bạn thấy rằng. Đối với phần layout ở trên thì chỉ có duy nhất phần nội dung là thay đổi, trong khi đó các phần còn lại là top, left, bottom thì cố định. Vậy để giải quyết vấn đề trên ta tách thành 3 file con là top.php, left.php, bottom.php.
    File top.php
    HTML Code:
    HTML Code:
        <div id="top">Welcome Back, QHOnline Tutorial</div>
    File left.php
    HTML Code:
    HTML Code:
            <div id="left">             <h1>Main Menu</h1>             <ul>                 <li><a href="">Tin Kinh Te</a></li>                 <li><a href="">Tin Kinh Te</a></li>                 <li><a href="">Tin Kinh Te</a></li>                 <li><a href="">Tin Kinh Te</a></li>                 <li><a href="">Tin Kinh Te</a></li>                 <li><a href="">Tin Kinh Te</a></li>                 <li><a href="">Tin Kinh Te</a></li>                                                                                                        </ul>         </div>
    HTML Code:
    File bottom.php
    HTML Code:
    HTML Code:
    <div id="bottom">Copyright &copy; 2010 - QHOnline.Info</div>
    Để dễ sử dụng, ta đưa tất cả file nào vào thư mục views/bluesky của ứng dụng theo hình bên dưới.
    Hưỡng dẫn sử dụng Layout - Codeigniter trong hệ thống lớn.

    Tiếp tục, ta tạo 1 file layout.php. Đây là file chứa nội dung chính của chúng ta, nội dung của file này sẽ chứa các thông tin file top, left, bottom mà chúng ta mong muốn.
    PHP Code:
    PHP Code:
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <link href="http://localhost/ciexam/public/bluesky/css/style.css" rel="stylesheet" type="text/css" /> 
    <title><?php echo $title?></title> 
    </head> 

    <body> 
        <?php $this->load->view("bluesky/top");?> 
        <div id="main"> 
            <?php $this->load->view("bluesky/left");?> 
            <div id="info"> 
                <?php 
                    $this
    ->load->view($template,$data); 
                
    ?> 
            </div> 
        </div> 
        <?php $this->load->view("bluesky/bottom");?> 
    </body> 
    </html> 
      Nếu các bạn chú ý ở đoạn code trên sẽ có 1 vài điều cần lưu ý như sau:
    + Biến $title được dùng để gởi tiêu đề của từng controller hoặc action khi người dùng truy cập.
    + Phần <div id='info'>
    Lại được bọc trong một cấp loadview nữa và có biến là $template và $data.
    Ba tham số này từ đâu ra ?.
    Chúng được truyền trực tiếp từ controller của chúng ta, với các thông tin mà người dùng muốn truyền.

    Tiếp tục ta tạo 1 controller tên layout và action là index với cú pháp sau:
    PHP Code:
    PHP Code:
     <?php 
    class Layout extends CI_Controller
        public function 
    __construct(){ 
            
    parent::__construct(); 
        } 
        public function 
    index(){ 
            
    $temp['title']="QHOnline Layout"
            
    $temp['template']='index_layout'
            
    $temp['data']['info']="Welcome to CI Layout - QHOnline.Info"
            
    $this->load->view("bluesky/layout",$temp); 
        } 
    }  
    ?>
    Các bạn thấy đó. Tại action index tôi đã truyền các thông tin như: $temp['title'] với mục đích để truyền sang biến $title vào view layout, biến template để tại layout sẽ gọi tiếp các view cần làm việc ứng với action index, biến $tem['data']['info'] dùng để truyền các tham số từ action ra view index_layout.

    Nói cách khác, đây là phương pháp gọi lồng các view với nhau. Với các thức này, bạn sẽ dễ dàng kiểm soát được tất cả các thông tin website của mình dễ dàng như: <title>, css, javascript, đổ menu động từ CSDL, đổ thông tin vào bất kỳ đâu mà bạn muốn 1 cách dễ dàng.

    Các bạn có thể download source bên dưới để test thử nghiệm, mọi vấn đề thắc mắc vui lòng hỏi bên dưới.
    Nguồn QHOnline
    Tập tin đính kèm Tập tin đính kèm

  2. The Following User Says Thank You to tinhphaistc For This Useful Post:

    battai (15-11-2013)

Chia sẽ và Bình Luận chủ đề Hưỡng dẫn sử dụng Layout - Codeigniter trong hệ thống lớn. trên facebook

Các Chủ đề tương tự

  1. anh em thường load layout vào trang chủ thế nào
    Bởi Zen Studio trong diễn đàn Hỏi đáp
    Trả lời: 13
    Bài cuối: 20-07-2013, 04:44 PM
  2. [Thảo Luận] layout như thế nào là khả thi nhất
    Bởi Zen Studio trong diễn đàn Hỏi đáp
    Trả lời: 0
    Bài cuối: 08-07-2013, 12:04 PM

Các từ khóa xuất hiện trên google của chủ đề

tao layout trong codeigniter

huong dan tao layout tronh codeigniter

Tag của Chủ đề này - Hãy Thêm Tags Để bài viết nhanh lên top google

Quyền viết bài

  • Bạn không thể đăng chủ đề mới
  • Bạn không thể gửi trả lời
  • Bạn không thể gửi đính kèm
  • Bạn không thể sửa bài
  •