Vùng miền trong giao diện

Kể từ phiên bản 4.7, người phát triển giao diện đã có thể tùy ý định nghĩa và sử dụng số lượng vùng miền có trong một giao diện, giúp cho việc định nghĩa cho bố cục trang trong hệ thống cũng như cho việc thiết kế trở nên rất uyển chuyển.

Định nghĩa

Vùng miền là một khái niệm trừu tượng trong hệ thống Drupal.

- Về tính năng sử dụng, có thể hiểu, mỗi vùng miền là một nơi lưu trữ các khối nội dung. Người quản trị hệ thống có thể sử dụng giao diện quản trị các khối nội dung để chọn lựa vùng miền trình bày cho mỗi khối nội dung.
- Về mặt kỹ thuật, có thể hiểu, mỗi vùng miền là một nơi chứa nội dung mà người thảo chương có thể sử dụng hàm drupal_set_content để thêm vào đó các chuỗi tủy thích.

Các giao diện sử dụng hàm hook_regions, hook là định danh của của giao diện, để định nghĩa các vùng miền chứa trong nó. Đối với các giao diện không tự định nghĩa các vùng miền, hệ thống sẽ sử dụng hàm phptemplate_regions (trường hợp giao diện sử dụng bộ máy giao diện phptemplate) để lấy về các vùng miền được sử dụng.

Cấu trúc hàm hook_regions

Giả sử chúng ta muốn định nghĩa 5 vùng miền cho giao diện drupalpedia, cấu trúc của hàm sẽ có dạng sau:

<?php
/**
 * Hàm định nghĩa các vùng miền hợp lệ được thực thi bởi giao diện drupalpeida
 * @return 
 *  Một mảng chứa các vùng miền. Phần tử đầu tiên của mảng sẽ được sử dụng như 
 *  là vùng miền mặc định cho giao diện
 */
function drupalpedia_regions () {
  
$regions = array ();
  
$regions['header'] = t('Header');
  
$regions['footer'] = t('Footer');
  
$regions['left'] = t('Left');
  
$regions['right'] = t('Right');
  
$regions['content_header'] = t('Content header');
  return 
$regions;
}
?>

Tham khảo

* http://api.drupal.org/api/function/phptemplate_regions/5 phptemplate_regions
* http://drupal.org/node/29140 Regions in themes