Код returnUrl, который вы просматриваете, использует переменную POST для returnUrl. Чтобы использовать это, вам нужно будет как-то POST. В представлении этот код вызывается из я предполагаю, что в форме есть поле <input name="returnUrl">
. Вы должны убедиться, что это поле (заполненное правильным значением URL) находится во всех представлениях, из которых вы отправляете POST, чтобы получить доступ к этой переменной POST в вашем действии контроллера.
Если вы отправляете сообщение на deleteAction через AJAX, я думаю, вы можете установить переменную $_POST['returnUrl']
с помощью функции jQuery AJAX .
Другой способ - использовать переменную CWebUser returnUrl SESSION вместо этой переменной POST. Я никогда не делал этого, но он встроен в Yii, поэтому я предполагаю, что он работает нормально.
Мне никогда не нравились хаки $_POST['returnUrl']
, которые все равно генерирует Gii.
ДРУГОЕ, что вы могли бы сделать, возможно, это посмотреть на переменную $_SERVER['HTTP_REFERER']
и использовать ее для перенаправления возврата в вашем deleteAction. Я не знаю, будет ли это установлено правильно, с осложнениями из-за перенаправления / перезаписи 302, которое делает Yii.
Удачи!