Khi một theme được đăng ký cũng như được theme được kích hoạt thì cơ chế hook_theme như sau:
Đầu tiên sẽ thực thị các hàm theme ở trong module và các file template ở trong theme mà module cung cấp
Sau đó gọi và xử lý các hàm theme ở tầng theme engine với các hàm bắt đầu với phptemplate_ hoặc garland_. Ví dụ file: themes/garland/node/tpl.php
Cuối cùng thực hiện các hàm trong theme để override các hàm theme cũng như file *.tpl.php
15 trang |
Chia sẻ: lylyngoc | Lượt xem: 1719 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài 08 Theme Form, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 08 (Tiếp) Mục tiêu bài học Theme registry Theme Form Theme views Cơ chế định nghĩa style Theme registry Khi một theme được đăng ký cũng như được theme được kích hoạt thì cơ chế hook_theme như sau: Đầu tiên sẽ thực thị các hàm theme ở trong module và các file template ở trong theme mà module cung cấp Sau đó gọi và xử lý các hàm theme ở tầng theme engine với các hàm bắt đầu với phptemplate_ hoặc garland_. Ví dụ file: themes/garland/node/tpl.php Cuối cùng thực hiện các hàm trong theme để override các hàm theme cũng như file *.tpl.php Theme form Mục đích theme form: tạo ra form cógiao diện hợp lý, dễ sử dụng và mang tính thẩm mỹ. Theme lại một form có thể viết ở trong file tamplate.php hoặc viết ở trong module Ví dụ theme lại form nhập liệu của Content Type Story Ví dụ theme form này được viết ở trong module có tên: simplemodule Theme form Ví dụ: Theme form để loại bỏ những phần không cần thiết: Theme form Bước 1: viết đoạn print $form_id ở trong hàm hook_form_alter() để xác định id của form cần theme lại Theme form Tham khảo Bước 2: truy cập vào để xem form id Theme form Bước 3: viết hàm hook_theme Hook: là tên module Argument: tham số là form Template: là file gọi đến khi xử lý Theme form Bước 3: vào theme, tạo file; story-node-form.tpl.php Sau đó clear cache của theme viết sử dụng hàm print_r($form) để xem cấu trúc các biến form Theme form Bước 4: viết mã để theme lại form như sau: Toàn bộ các thành phân của form không cần thiết thì cho hết vào thẻ div và sử dụng thuộc tính display:none để ẩn đi Theme Views Mục đích: theme lại giao diện của view khi lọc ra dữ liệu Cách làm: Vào sửa một views cần theme lại Theme views Click vào theme information Theme views Tạo file template để theme view: Display output Style output Row style output Ví dụ theme lại style view thì tạo file có tên như danh sach file sinh ra. Ví dụ: views-view-unformatted--taxonomy-term--block-2.tpl.php Các file sinh ra càng cuối cùng thì càng mang tính độc lập Theme views Viết code trong file .tpl.php để in ra dữ liệu Sau đó click vào rescan template file để nhận dạng file mới Theme Views Viết code đê in ra dữ liệu theo định dạng sau $fields[‘ten_fiel']->content Ví dụ: $fields['field_image_cache_fid']->content Cơ chế định nghĩ style