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

75
20 апреля 2022, 07:10

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

/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], но это займет время.

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

Answer 1

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

public static function toProject(string $url,int $projectId,bool $scheme = false): string
{
    return self::to($url,$scheme,['xxx' => $projectId]);
}
READ ALSO
Почему не получается запустить приложение через docker?

Почему не получается запустить приложение через docker?

Всем привет! Пытаюсь запустить symfony приложение с помощью docker'aСкачал с помощью composer'a api приложение symfony

82
Не устанавливается пакет eolica/nova-locale-switcher

Не устанавливается пакет eolica/nova-locale-switcher

При установке пакета eolica/nova-locale-switcher выводится

104
Как лучше спроектировать базу данных?

Как лучше спроектировать базу данных?

Я в этом деле новичок, только начал изучение PHPПрошу подсказать как мне лучше осуществить связь между таблицами внутри базы данных

89
WP Query вывод paginate_links

WP Query вывод paginate_links

Пагинация выводится правильноНо ссылки не работают

92