Tổng quan về phát triển giao diện

Từ phiên bản 4.5, hệ thống giao diện của Drupal đã trở nên rất uyển chuyển. Cấu trúc mới được giới thiệu, giúp cho việc kết hợp các thành phần tạo nên một giao diện, trở nên rất đơn giản: bộ máy giao diện, các khuôn mẫu, các mảng định dạng và các đoạn mã PHP.

Từ phiên bản Drupal 4.7, bộ máy giao diện được mặc định kèm theo với Drupal là PHPTemplate.

Giao diện là một khái niệm trừu tượng, mỗi giao diện có thể được hình thành bằng các cách khác nhau:

* Từ (các) tập tin khuôn mẫu (.tpl.php, .xhtml) cho một bộ máy giao diện (PHPTemplate, XTemplate). Thí dụ: Garland, Bluemarine.
* Từ (các) mảng định dạng, nếu như giao diện là một giao diện kế thừa. Thí dụ: Minelli, Marvin.
* Từ tập tin .theme mã nguồn PHP chứa các hàm quá tải lên các hàm tạo giao diện ban đầu (theme_*). Thí dụ: Chameleon.

Cấu trúc thư mục của của các giao diện mặc định kèm theo của hệ thống:

  1. themes/engines/phptemplate/phptemplate.engine
  2. themes/garland/page.tpl.php
  3. themes/garland/style.css
  4. themes/garland/minelli/style.css
  5. themes/bluemarine/page.tpl.php
  6. themes/bluemarine/style.css
  7. themes/chameleon/chameleon.theme
  8. themes/chameleon/style.css
  9. themes/chameleon/marvin/style.css

Giao diện và các khuôn mẫu được đặt trong thư mục con của chúng, nằm dưới thư mục themes. Đối với các giao diện được đóng góp, nên được đặt dưới thư mục sites/all/themes. Các máy giao diện sẽ quét mỗi thư mục con để tìm các tập tin khuôn mẫu (.tpl.php, .xtmpl). Nếu một thư mục có tồn tại tập tin style.css thì thư mục con đó cũng được xem như một giao diện hợp lệ.

Bạn có thể tạo ra những giao diện chỉ bao gồm CSS bằng cách tạo ra thư mục con trong một thư mục của một giao diện nào đó, sau đó, tạo một tập tin style.css ở trong thư mục con vừa tạo. Đây là cách mà hai giao diện Minelli và Marvin được xây dựng.

Mỗi giao diện cần có một tập tin screenshot.png trong thư mục của nó, Drupal sẽ trình bày ảnh chụp này ở màn hình quản lý giao diện.

Tạo ra các giao diện tùy chỉnh

Nếu bạn muốn tạo một giao diện tùy chỉnh, bạn có thể tùy chỉnh lại một giao diện sẵn có, hoặc có thể từ phát triển từ đầu.

Để tùy chỉnh một giao diện sẵn có, chỉnh cần sao chép nó vào một thư mục mới ở trong thư mục themes. Sau đó, chỉnh sửa bản sao chép để có tùy chỉnh giao diện theo ý muốn. Chú ý: Mỗi giao diện cần có một định danh duy nhất, không được trùng tên với các giao diện khác và cũng không nên có trùng tên với các module được sử dụng.

Nếu chọn phát triển một giao diện từ đầu, có một vài cách tiếp cận khác nhau. Nếu bạn không phải là một người thảo chương, cách tiếp cận đơn giản nhất là sử dụng các bộ máy giao diện. Mặc định, từ phiên bản 4.7, bộ máy giao diện http://drupal.org/node/11810 PHPTemplate được đóng gói kèm theo trong hệ thống Drupal.

Hàm giao diện có thể quá tải

Từ liệu

* theme: giao diện
* theme engine: Bộ máy giao diện
* template: khuôn mẫu

Tham khảo

* http://drupal.org/node/11774 Theming overview
* http://drupal.org/node/11810 PHPTemplate