Tạo tùy chọn Theme cho Drupal 7

Như bạn thấy trong phần cài đặt Theme Drupal 7, có rất nhiều checkbox cho phép mở hoặc đóng bất kỳ thành phần nào của theme như logo, slogan...

Trong quá trình phát triển giao diện cho Drupal, việc thêm các tùy chọn này khá cần thiết.

Trong thư mục theme của bạn hãy tạo ra file theme-settings.php. Trong file chúng ta chỉ cần làm việc đơn giản là khai báo các trường của form (Form Field) và các tùy chọn mới này sẽ thực hiện việc gì

<?php
function tentheme_form_system_theme_settings_alter(&$form, &$form_state) {
  $form['theme_settings']['ten_tuy_chon'] = array(
	'#type' => 'checkbox',
	'#title' => t('Tùy chọn hướng dẫn bởi ThuthuatVietnam.com'),
	'#default_value' => theme_get_setting('ten_tuy_chon'),
  );
}
?>

Trong đó:

- ['theme_settings'] là mảng lưu trữ các trường của form đã có, đây cũng là chỗ để bạn chèn vào các tùy chọn của mình.
- ['your_option'] là tên của lựa chọn mới mà bạn muốn tạo ra.
- #type : Khai báo loại phần tử mà bạn muốn tạo ra. Như ví dụ là checkbox.
- #title : Tiêu đề của phần tử, là phần văn bản hiển thị cho tùy chọn.
- #default_value : Khai báo giá trị mặc định.

Trong ví dụ trên chúng ta đã khai báo #default_value truy vấn vào database để lấy giá trị qua hàm theme_get_setting('your_option'). Tuy nhiên, nếu không tìm thấy giá trị trong database, Drupal sẽ kiểm tra giá trị trong theme của bạn. Vì vậy chúng ta cần thêm dòng:

settings[your_option] = 1

Sau khi khai báo, giá trị mặc định sẽ luôn là 1, cho đến khi bạn thay đổi nó.

Để sử dụng được tùy chọn trong giao diện, bạn có thể sử dụng hàm

theme_get_setting('ten_tuy_chon');

Ví dụ: trong file .tpl.php, để kiểm tra xem có tích tùy chọn không

<?php if (theme_get_setting('ten_tuy_chon')): ?>
  <!-- Code ở đây. thuthuatvietnam.com -->
<?php endif; ?>

Chúc bạn thành công.

Tags: ,