Khi mới bắt đầu học Drupal 7, bạn tiến hành cài các theme, 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 Drupal 7, tất cả việc thao tác được thực hiện thông qua Form API, vì vậy cũng không quá đơn giản, nhưng cũng không quá phức tạp. Trong bài viết này Thủ thuật Việt Nam 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 theme cho Drupal 7'),
'#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.
Để có thể kiểm tra kiến thức lập trình web mà bạn có hãy tham gia lầm bài test kiến thức lập trình web
Không có nhận xét nào:
Đăng nhận xét