如何在Drupal评论表单中添加警告文本

时间:2011-05-31 08:06:11

标签: drupal drupal-6

当人们尝试添加评论时,我想在评论表单中显示警告消息:

  

“请写正确的评论   语法英语,否则他们   不会发表“

我该怎么做?

4 个答案:

答案 0 :(得分:2)

以下是在自己的模块中使用hook_form_alter的方法:

function mymodule_form_alter(&$form, &$form_state, $form_id) {
  switch ($form_id) {
    case "comment_form":
      $form['#prefix'] .= "<div><p>Show some text before the comment form.</p></div>";
    break;
  }
}

答案 1 :(得分:1)

您可以更改评论表单,以便将指南添加到评论表单中。有一些方法可以改变Drupal中的表单。您可以在主题的template.php文件(我更喜欢简单的更改)或自定义模块中执行此操作。 This article描述了Drupal 5和6中的两种方法,但不是您感兴趣的形式。但是,使用的方法与导致下面的解决方案相同。这是您通过template.php进行更改的方式:

以下PHP代码可以添加到主题的template.php文件中:

function YOURTHEME_theme() {
  return array(
    'comment_form' => array(
      'arguments' => array('form' => NULL),
    ),
  );
}

function YOURTHEME_comment_form($form) {
  $output = '';
  $output .= '<div class="comment-help">' . t('Please write comments in correct grammatical English, otherwise they will not published.') . '</div>';
  $output .=  drupal_render($form);
  return $output;
}

将YOURTHEME替换为您的主题名称。如果您已经有了YOURTHEME_theme函数,则需要将“comment_form”键添加到它已经返回的数组中。我怀疑你这样做,但值得一提的是以防万一。

注意:您不应该编辑/ themes中的任何主题,但您应该创建一个新主题或复制并将这些主题重命名为/ sites / default / themes或/ sites / all /主题。

上述代码基于this page的代码。

答案 2 :(得分:1)

一旦进入hook_form_alter函数,就可以使用Development模块(http://drupal.org/project/devel)dpm()函数代替var_dump来帮助查看和隔离大型数组中要更改的属性。我发现在尝试找出现有表单的更改时,这是必须的。它将表单数组的所有元素放入可单击的行中。

答案 3 :(得分:0)

在Drupal 7中转到

admin/structure/types/manage/mycontenttype/comment/fields/comment_body

在那里你可以添加你的文字。它将像往常一样在 字段中显示。如果您希望警告显示在上方字段,则必须采用form_alter方式。