首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Drupal6迁移到Drupal7index钩子抛出了一个错误-注意: sport_utils_form_alter()中未定义的form_alter : buttons

从Drupal6迁移到Drupal7index钩子抛出了一个错误-注意: sport_utils_form_alter()中未定义的form_alter : buttons
EN

Stack Overflow用户
提问于 2014-08-07 06:40:13
回答 1查看 70关注 0票数 0

我正在从Drupal 6升级到Drupal 7。我在更新后启用了此模块。

下面是我的函数:

代码语言:javascript
复制
function sport_utils_form_alter($form, $form_state, $form_id) {
    if (strpos($form_id, '_node_form') !== FALSE) {
        $form['#validate'][] = 'byu_sport_utils_verify_valid_author';
        $form['#validate'][] = 'byu_sport_utils_remove_first_line_break';

        $form['top_buttons'] = $form['buttons'];
        $form['top_buttons']['#weight'] = -500;
        $form['top_buttons']['#prefix'] = $form['buttons']['#prefix'] = '<div class="button-bar">';
        $form['top_buttons']['#suffix'] = $form['buttons']['#suffix'] = '</div><div class="clear"></div>';
    }
}

它在这一行抛出一个错误:

代码语言:javascript
复制
$form['top_buttons'] = $form['buttons'];

我不知道是否需要用其他可以在Drupal7中工作的东西来替换$form['buttons']

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2014-08-09 08:29:04

在Drupal7中,表单按钮被分组到$form['actions']下。因此,您需要修改代码以支持如下所示。

代码语言:javascript
复制
function sport_utils_form_alter($form, $form_state, $form_id) {
    if (strpos($form_id, '_node_form') !== FALSE) {
      $form['#validate'][] = 'byu_sport_utils_verify_valid_author';
      $form['#validate'][] = 'byu_sport_utils_remove_first_line_break';

      /**
        * Copy the action buttons (submit, preview, etc ..)
        * and place them at the top of the form
        */
      if(!empty($form['actions'])) {
        $actions = element_children($form['actions'], TRUE);
        foreach($actions as $name) {
          $form['top_buttons']["$name-top"] = $form['actions'][$name];
        }
      }

      $form['top_buttons']['#weight'] = -500;
      $form['top_buttons']['#prefix'] = $form['actions']['#prefix'] = '<div class="button-bar">';
      $form['top_buttons']['#suffix'] = $form['actions']['#suffix'] = '</div><div class="clear"></div>';
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25171448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档