Да, в Yii2 можно настроить ЧПУ с GET параметрами в виде массива. Для этого необходимо выполнить следующие шаги:
1. Настройте правила маршрутизации в конфигурационном файле "config/web.php". Добавьте правило для ЧПУ, указав соответствующий шаблон и контроллер/действие:
'urlManager' => [ 'enablePrettyUrl' => true, 'showScriptName' => false, 'rules' => [ 'site/<id:d+>/<name:.*?>' => 'site/view', ], ],
В данном примере, при обращении по URL вида "/site/123/abc", Yii2 будет искать экшн "view" контроллера "site" и передавать ему параметры "id" и "name".
2. В контроллере, где вы хотите использовать ЧПУ с GET параметрами в виде массива, определите действие и объявите параметры:
public function actionView($id, $name) { // ваш код }
В данном примере, параметры "id" и "name" будут переданы в действие "view".
3. Настройте форму, которая будет отправлять GET запрос с параметрами в виде массива:
<form action="<?= Yii::$app->urlManager->createUrl(['site/view']) ?>" method="get"> <input type="hidden" name="id" value="123"> <input type="hidden" name="name" value="abc"> <button type="submit">Отправить</button> </form>
В данном примере, при отправке формы будет сформирован URL вида "/site/123/abc", который будет использоваться для ЧПУ.
4. В действии контроллера можно получить GET параметры в виде массива с помощью метода "Yii::$app->request->get()":
public function actionView($id, $name) { $params = Yii::$app->request->get(); // ваш код }
В данном примере, переменная "params" будет содержать массив с параметрами GET запроса.
Таким образом, вы можете настроить ЧПУ с GET параметрами в виде массива в Yii2, используя правила маршрутизации, определение параметров в контроллере и обработку параметров в действии контроллера.