0

我的模块中有以下代码:

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'comment_node_blog_form') {
    $form['#node']->content['links']['comment']['#links']['comment-add']['title'] = t('Post a comment');
    $form['#node']->actions['submit'] = t('Post comment');
    unset($form['#node']->actions['preview']);
var_dump($form);

}

当我查看 var_dump 时,表单字段已按预期设置。但是,在查看表单时,标题仍然有“添加新评论”,提交按钮没有改变,预览按钮仍然存在。

在搜索页面内容(包括 var_dump 输出)时,“添加”的唯一位置是在表单的文本中......而不是在 var_dump 的内容中。我能看到发生这种情况的唯一方法是,如果表单数组在我的钩子之后被改回,所以我尝试将模块权重更改为 99(通过 mysql)并清除缓存。没有不同。

4

1 回答 1

0
function modulename_form_alter(&$form, &$form_state, $form_id)
{ unset($form['actions']['preview']); }
于 2014-03-14T12:43:44.487 回答