0

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;

}

}

どんなアイデアや助けも大歓迎です。

4

1 に答える 1

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']); 
}

それが良いアイデアかどうかはわかりませんが、このアプローチが使用されている投稿はほとんど見つかりませんでした。

于 2013-04-09T05:51:10.133 に答える