我想在drupal 6中保存或更新之前修改评论正文。我正在尝试使用以下代码:
function mymodule_comment(&$a1, $op) {
switch ($op) {
case 'insert':
case 'update':
$a1['comment'] = myfunction($a1['comment']);
break;
}
}
但是保存后它没有更新评论正文。我也尝试了以下代码,它可以工作:
function mymodule_comment(&$a1, $op) {
switch ($op) {
case 'insert':
$a1['comment'] = myfunction($a1['comment']);
comment_save($a1);
break;
}
}
但是在更新的情况下,它显示错误:
function mymodule_comment(&$a1, $op) {
switch ($op) {
case 'update':
$a1['comment'] = myfunction($a1['comment']);
comment_save($a1);
break;
}
}
非常感谢任何想法或帮助。
答案 0 :(得分:0)
好的,我得到了解决方法。首先创建一个hook_form_alter函数:
mymodule_form_alter($form,$form_state,$form_id){
if ($form_id == 'comment_form') {
$form['#submit'][] = 'mymodule_comment_form_submit';
}
}
然后创建hook_comment_form_submit函数并进行修改:
mymodule_comment_form_submit($form, $form_state){
$form_state['values']['comment'] = myfunciton($form_state['values']);
comment_save($form_state['values']);
}
我不知道这是不是一个好主意,但我发现使用这种方法的帖子很少。