SilverStripe 3.1+ Динамическое создание перенаправления страниц

У меня есть тип страницы «ProductPage», у него есть вкладки, которые можно перемещать так:

/ ProductPageUrlSegment /? = Вкладка видео

/ ProductPageUrlSegment /? = Вкладка аудио

/ ProductPageUrlSegment /? = вкладка фотографии

Я хотел бы, чтобы редиректы создавались при создании каждой новой страницы продукта, чтобы при навигации / ProductPageUrlSegment / video она переходила к / ProductPageUrlSegment /? Tab = video

и то же самое для всех вкладок. Я не понимаю, следует ли использовать маршрутизацию https://docs.silverstripe.org/en/3.3/developer_guides/controllers/routing/ или перенаправление https://docs.silverstripe.org/en/3.3/developer_guides/controllers / перенаправление /

У меня есть функция ссылки для другого проекта, который идет на родительскую страницу

public function Link() { return $this->Parent()->Link() . '#' . $this->URLSegment; } 

Мой был бы чем-то вроде:

 public function LinkVideo() { return $this->Link()->'/?=video' . '#' . $this->URLSegment->'/video'; } 

У меня нет знаний, чтобы справиться с этим, поэтому любое руководство было оценено.

Это позволит достичь вышеуказанного, обработав URL-адрес в качестве действия, а затем перенаправляясь на ту же страницу, но с набором переменных get …

 class ProductPage extends Page { } class ProductPage_Controller extends Page_Controller { private static $allowed_actions = array( 'video', 'audio', 'photos', ); public function video() { $this->redirect($this->Link().'?tab=video'); } public function audio() { $this->redirect($this->Link().'?tab=audio'); } public function photos() { $this->redirect($this->Link().'?tab=photos'); } }