使用hook_form_alter(),你可以修改任何表单。你只需要知道表单的ID就可以了。这里有两种方式可以用来修改表单。
修改任意表单
让我们修改一下登录表单,它位于用户登录区块和用户登录页面中。
function formexample_form_alter(&$form, &$form_state, $form_id) {
// This code gets called for every form Drupal builds; use an if statement
// to respond only to the user login block and user login forms.
if ($form_id == 'user_login_block' || $form_id == 'user_login') {
// Add a dire warning to the top of the login form.
$form['warning'] = array(
'#value' => t('We log all login attempts!'),
'#weight' => -5
);
// Change 'Log in' to 'Sign in'.
$form['submit']['#value'] = t('Sign in');
}
}
由于$form是通过引用传递过来的,所以在这里我们对表单定义拥有完全的访问权,并且可以做出任何我们想要的修改。在例子中,我们使用表单默认元素(参看本章后面的“标识文本”一节)添加了一些文本,并接着修改了提交按钮的值。
老葛的Drupal培训班 Think in Drupal
评论
好像少一段
P246 - Altering a Specific Form -???
好像少一段
P246 - Altering a Specific Form -???
http://zhupou.cn/node/1132,参看
http://zhupou.cn/node/1132,参看这个,这几个的顺序我调整不了,注意节点的先后顺序.1131,1132,1133,就是这样,后台的拖动不起作用
Book Manager
http://drupal.org/project/book_manager 不知道这个模块是否有用?
或许会有用,不过我不想装太多的Drupal模块,太多了对性
或许会有用,不过我不想装太多的Drupal模块,太多了对性能影响很大,已经装了OG,Ubercart了,服务器有限制,
大家到了这个地方知道按照节点的大小排列就是了,因为我是从前向后发的。
正确顺序
下一页: 修改一个特定的表单 >