Đào Tạo PHP & Mysql

Học PHP Online - PHP Framework - Tự Học PHP

CakePHP Framework

CakePHP Framework: Kỹ thuật sử dụng layout

Khi ta viết một ứng dụng cho CakePHP Framework. mặc định CakePHP Framework đã hổ trợ cho chúng ta dao diện sẵn . Nhưng đôi khi tùy theo sở thích, nhu cầu , xu hướng … nên bắt buộc người thiết kế cũng như người lập trình cần có những giao diện (layout) cho riêng mình. Bài viết sẽ hướng dẫn cách chúng ta tạo 1 layout cho riêng mình và cách áp dụng 1 Helper CakePHP Framework vào ứng dụng của mình.
 
Khi phân tích 1 trang web , nhìn chung ta thấy gồm các phần chính như sau :
Cakephp Framework Layout
Để vận dụng được sự hổ trợ mạnh mẽ chắc năng load layout của CakePHP FrameWork , ta phân tích các thành phần cố định và thành phần động :
CakePHP Framework Layout
Như vậy ta để tránh việc xử lý các thành phần cố định ở controller ta chỉ cần viết 1 class Hepler để hiển thị nó . Còn thành phần động sẽ được xử lý thông qua Controllers.
Cái file cần chuẩn bị trong Tutorial Layout CakePHP Framework như sau :
 

+ app/ :
-app_controller.php

+ app/controllers/templates/ :
-templates_controller.php (Controller chính để load layout)

+ app/views/templates/ :
- index.ctp
- view.ctp

+ app/views/helpers/ :
- common.php (Tạo các thành phần cố định : menu , header,footer)

+- template.ctp (File chứa nội dung layout)

+ app/webroot/css/ :
- style.css (file CSS của layout)
 
Tạo file app_controller.php (app/)
Tạo file common.php (app/views/helpers/)
Tạo file templates_controller.php (app/controllers/templates/) :
Tạo file layout template.ctp (app/views/layouts/template.ctp) : File này chứa nội dung layout bao gồm các thành phần cố định và thành phần động như ban đầu mô tả. Nội dung file này gồm mã HTML và PHP…
Tạo file style.css (app/webroot/css/style.css)
Hình mô ta khi file template.ctp sử dụng file helper Common.php (click vào hình để xem hình lớn)
CakePHP Framework Layout
Như thường lệ , khi tạo 1 fuction cho 1 Controller , thì ta phải tạo file view tương ứng để hiển thị nội dung trong file view đó.Trong ví dụ này ta có Controller Templates với 2 function là index() và view(), cần phải có 2 file view là : index.ctp và view.ctp để hiển thị nội dung tương ứng.

Tuy nhiên chúng ta đang sử dụng layout template.ctp (app/views/layouts/template.ctp) ,nên chỉ cần tạo 2 file index.ctp và view.ctp ,nội dung của 2 file này các bạn bỏ trống. Ví dụ function index() được gọi , nó sẽ load file index.ctptự động nạp file layout vào (app/views/layouts/templates.ctp).
Hình mô tả khi file view load file template.ctp (Click vào hình để xem hình lớn)
cakePHP Framework Layout
Chạy thử ứng dụng :
http://localhost/cakephp/templates
CakePHP Framework Layout
Khi click vào link của Menu : http://localhost/cakephp/templates/view/1
CakePHP Framework Layout
 
Tải toàn bộ mã nguồn ở trên tại đây.
Mật khẩu giải nén: qhonline.info

(Thái Thanh Phong)
788
Bạn vẫn chưa hiểu rõ vấn đề ?. Bạn vẫn còn nhiều điều thắc mắc ?. Bạn gặp lỗi khi thực hành mã lệnh trên ?. Hãy tham gia diễn đàn QHOnline.Info để nhận được sự giúp đỡ từ phía cộng đồng nhanh nhất. Đồng thời tải những tài liệu giá trị tại diễn đàn. Việc đăng ký là hoàn toàn miễn phí, hãy đăng ký ngay để chúng tôi giúp đỡ bạn nhé.

Ghi rõ nguồn từ website QHOnline.Info - Khi bạn phát hành lại thông tin từ website này

Phản hồi của bạn Tiếng Anh Telex VNI VIQR





Lê Ngọc Nam (13:53 18/01/2012)

Không biết người viết bài này có ý muốn đánh đố người mới tìm hiểu hay không mà tập tin đính kèm với code trên website không giống nhau ( hoặc là thiếu dấu)
- file app_controller.php nằm trong folder (app/) trong file đính kèm là không có
- file templates_controller.php nằm trong folder (app/controllers/templates/) là sai. trong file đính kèm thì nằm trong folder (app/controllers)
- file Common.php thiếu dấu } ở cuối cùng (trong file đính kèm thì viết đúng)
Mong người viết bài sửa lại :)

Reply

PHP MYSQL Online - Hoc PHP - Dao Tao PHP - Học PHP - CakePHP Framework - Lap Trinh PHP Can Ban - Lap Trinh PHP Nang Cao - PHP Framework - Tài liệu,Thư viện
Copyright 2007-2010 © QHOnline.Info | Powered By QHOnline Version 2.0 - XHTML Valid