onthisdate_adminarray( '#name => 'value', ... )
<?php
function onthisdate_admin() {
$form['onthisdate_maxdisp'] = array(
'#type' => 'textfield',
'#title' => t('Maximum number of links'),
'#default_value' => variable_get('onthisdate_maxdisp', 3),
'#size' => 2,
'#maxlength' => 2,
'#description' => t("The maximum number of links to display in the block."),
'#required' => TRUE,
);
return system_settings_form($form);
}
?>t() ในการแสดงผลอักขระvariable_get('variable_name',default_value) ในการรับค่าตัวแปรจากระบบ ซึ่งในที่นี้เรากำหนดค่าปริยายให้ onthisdate_maxdisp เป็น 3system_settings_form()เอาส่วนของการตั้งค่านี้ คือตัวเลข onthisdate_maxdisp ไปใส่ในฟังก์ชั่น onthisdate_block() ดังนี้
//--- onthisdate_block function ---
...
$limitnum = variable_get("onthisdate_maxdisp", 3);
$query = "SELECT nid, title, created FROM " .
"{node} WHERE created >= %d " .
"AND created <= %d";
$queryResult = db_query_range($query, $start_time, $end_time, 0, $limitnum);
...
onthisdate_menu<?php
function onthisdate_menu() {
$items = array();
$items['admin/settings/onthisdate'] = array(
'title' => 'On this date module settings',
'description' => 'Description of your On this date settings control',
'page callback' => 'drupal_get_form',
'page arguments' => array('onthisdate_admin'),
'access arguments' => array('access administration pages'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
?>
onthisdate_admin_validate<?php
function onthisdate_admin_validate($form, &$form_state) {
$maxdisp = $form_state['values']['onthisdate_maxdisp'];
if (!is_numeric($maxdisp)) {
form_set_error('onthisdate_maxdisp', t('You must select a number for the maximum number of links.'));
}
else if ($maxdisp <= 0) {
form_set_error('onthisdate_maxdisp', t('Maximum number of links must be positive.'));
}
}
?>
ดูเพิ่ม