Как сделать редирект на текущую страницу с новыми атрибутами?

Чтобы сделать редирект на текущую страницу с новыми атрибутами в Yii, можно использовать метод redirect() из класса yiiwebController.

Прежде всего, вам потребуется получить URL текущей страницы с помощью метода getUrl() из класса yiiwebRequest. Вы можете получить экземпляр класса Request с помощью Yii::$app->request.

После этого, вы можете использовать метод redirect() для создания объекта Response и выполнить редирект. Второй параметр метода redirect() является URL-адресом, на который вы хотите перенаправить пользователя. В нашем случае мы будем использовать текущий URL.

use yiiwebController;
use yiihelpersUrl;

class YourController extends Controller
{
    public function yourAction()
    {
        // Получаем URL текущей страницы
        $url = Url::to(['your-action']);
        
        // Выполняем редирект
        return $this->redirect($url, 301);
    }
}

В этом примере мы использовали метод Url::to() для создания URL-адреса с помощью имени действия your-action. Вы также можете передать маршрутизатору массив с новыми атрибутами, чтобы добавить их в URL. Например:

$url = Url::to(['your-action', 'param1' => 'value1', 'param2' => 'value2']);

Теперь, когда вы вызываете метод redirect() с созданным URL, пользователь будет перенаправлен на текущую страницу с новыми атрибутами. Обратите внимание, что мы указываем код состояния 301 вторым параметром метода redirect(). Вы также можете использовать другой код состояния, если это необходимо.

Надеюсь, это поможет вам сделать редирект на текущую страницу с новыми атрибутами в Yii.