Yii2 динамический роутинг

Есть нужда реализовать адреса страниц следующим образом:

/admin/{project_id}/{controller}/{action}

я пытался переопределить Url::to, чтобы при существовании project_id он добавлял в Get параметр значение ['project_id' => 12]. и далее в main.php следующее правило роутинга

'<project_id:\w+>/{controller:\w+}/{action:\w+}' => '/'

но такой вариант ограничен. Например: Есть у меня кнопка Html::a('text', ['create']) и таких кнопок много. по текущей реализации мне придется во всех кнопках дописывать ['create', 'project_id' => 12], но это займет время.

Есть ли какая-то возможно реализовать данную возможность более корректным образом?


Ответы (1 шт):

Автор решения: Alex Khonko

Отнаследуйте Url, и допишите свой метод, аля

public static function toProject(string $url,int $projectId,bool $scheme = false): string
{
    return self::to($url,$scheme,['xxx' => $projectId]);
}
→ Ссылка