ここに私が直面している問題があります: Yii でブログ システムを作成し、投稿ビュー ページにコメント作成フォームを作成しました。削除リンクも作成しました。リンクは正常に機能しており、削除リンクをクリックするとコメントは実際に削除されますが、コメントが削除されると、コメント ページの管理者 Gridview にリダイレクトされます。
これは Comment Controller のデフォルトの削除アクションです:
public function actionDelete($id)
{
$this->loadModel($id)->delete();
// if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser
if(!isset($_GET['ajax']))
$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin'));
}
ただし、returnUrlも試してみましたが、同じ投稿ビュー ページにリダイレクトできません。コメント管理の管理ページに常にリダイレクトされます。
これは、ビュー ファイルにある CHtml::link です。
<?php echo CHtml::link('Delete','#',array('submit'=>array('comment/delete','id'=>$comment->id),'confirm'=>'Are you sure?')); ?>
これで必要なコメントは削除されますが、削除後にこのページ自体にリダイレクトされるようにしたいです。
さらにコードが必要な場合は、それを提供します。
PS:これが役立つ場合、CommentControllerのaccessRulesは次のとおりです。
public function accessRules()
{
return array(
array('allow', // allow all users to perform 'index' and 'view' actions
'actions'=>array('index','view','create'),
'users'=>array('*'),
),
array('allow', // allow admin user to perform 'admin' and 'delete' actions
'actions'=>array('admin','delete','update'),
'users'=>array('@'),
),
array('deny', // deny all users
'users'=>array('*'),
),
);
}
私が何か非常に間違ったことをしているなら、申し訳ありません。私は実際に Yii を初めて使用し、できる限り Yii を学ぶために最善を尽くしています。
よろしく、