Chủ Nhật, 18 tháng 1, 2015

Tạo thêm các tùy chọn Theme cho Drupal 7

Drupal 7 là một FrameWord vô cùng tuyệt vời cho những ai muốn có được trang web mà không phải mất quá nhiều thời gian để viết code. Việc thiết kế web với Drupal 7 rất đơn giản bạn chỉ cần cài đặt nó trên máy tính của mình và khi cài đặt Theme Drupal 7, bạn có thể thấy 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 theme này rất cần thiết cho việc hỗ trợ tốt cho việc thay đổi giao diện của người dùng sau này.

Tạo thêm các tùy chọn cho Drupal 7
Với Drupal 7, tất cả việc thao tác được thực hiện thông qua Form API, vì vậy việc thực hiện tạo thêm các tùy chọn theme sẽ không quá khó với. Bài viết này sẽ hướng dẫn bạn thực hiện công việc này.
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'),
          '#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 -->
<?php endif; ?>
Một số theme trong Drupal 7
Các tùy chọn theme trong Drupal 7
Các bạn có thể tham khảo chương trình đào tạo thiết kế web Drupal tại Việt Tâm Đức. Một công ty hoạt đông trong lĩnh vực thiết kế web, tại đây bạn sẽ được hướng dẫn để có thể sự dụng Drupal trong thời gian ngắn nhất. 
Chúc bạn thành công.

0 nhận xét:

Đăng nhận xét