当人们尝试添加评论时,我想在评论表单中显示警告消息:
“请写正确的评论 语法英语,否则他们 不会发表“
我该怎么做?
答案 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方式。