【发布时间】:2020-04-25 03:58:02
【问题描述】:
我已经制作了一个 Drupal7 模块,我正在尝试加载 hook_form_alter 中的值。 保存后它可以工作,但是当我刷新页面时它会空白。 为了向您展示问题,我在 hook_form_alter 中打印了时间并且它没有更新。 任何想法为什么我刷新页面时它没有显示新的时间戳?
<?php
function bank_info_menu() {
$items = array();
$items['bank-info'] = [
'title' => 'My Banking Info',
'page callback' => 'drupal_get_form',
'page arguments' => array('bank_info_form'),
'access callback' => 'bank_info_check_role',
'type' => MENU_NORMAL_ITEM,
];
return $items;
}
function bank_info_form($form, &$form_state) {
$form['bank_account_number'] = array(
'#type' => 'textfield',
'#title' => t('Bank Account Number'),
'#default_value' => '',
'#maxlength' => 20,
);
return $form;
}
function bank_info_form_submit($form, &$form_state) {
global $user;
$obj = entity_metadata_wrapper('user', $user);
if(array_key_exists('bank_account_number', $form_state['values'])){
$obj->bank_account_number = $form_state['values']['bank_account_number'];
}
$obj->save();
drupal_set_message('Saved banking information successfully.');
}
function bank_info_form_alter(&$form, &$form_state, $form_id){
if ($form['#id'] == 'bank-info-form') {
echo date("h:i:sa");
}
}
【问题讨论】:
-
您是否尝试添加 $form_state['rebuild'] = true; ? ,为什么每次都需要开火?也许还有另一个为什么要实现你想要的?
-
@Fky 成功了!精彩的。我是 Drupal 的新手。我要做的是制作一个显示和查看当前值的表单。
-
太棒了,我很高兴看到这个 ;)
标签: drupal-7