Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony2][Symfony]Jak zmienić parametry routingu dynamicznie
Forum PHP.pl > Forum > PHP > Frameworki
borpaw
Mam taki testowy kontroler, w którym chcę zmienić parametr '_controller' w ścieżce routingu. Zmiana jest widoczna po wyświetleniu tablicy routinu ale jakby nie jest zachowywana. Jeśli uruchomię link, który chcę zmodyfikować nic się nie zmienia.

Chcę zrobić ładowanie ścieżek z zewnętrznej tablicy, po załadowaniu Loaderem jest ok ścieżki są i działają tylko jak je potem zmienić (ich parametry) podczas działaniu systemu?questionmark.gif
Odświeżenie strony nie powoduje załadowania tablicy ścieżek na nowo dopiero usunięcie cache pokazuje zmiany.
Jak tym można zarządzać?


  1. namespace DemoBundle\Controller;
  2.  
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  4. use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  5. use Symfony\Component\Routing\Route as Route;
  6. use Symfony\Component\Routing\RouteCollection;
  7.  
  8. class DefaultController extends Controller {
  9.  
  10. /**
  11.   * @Template()
  12.   */
  13. public function indexAction() {
  14.  
  15. $router = $this->container->get('router');
  16. $collection = $router->getRouteCollection();
  17.  
  18. $route = $collection->get("extraRoute");
  19. $route->setDefault('_controller','DemoBundle:Page:index');
  20.  
  21.  
  22. //Czy tu trzeba jakoś utrwalić tą zmianęquestionmark.gifquestionmark.gif?
  23.  
  24. return array();
  25. }
  26.  
  27. }
Forti
Po co chcesz to zrobić? Jeden route = jeden controller. Zrób sobie np. kontroller i route z parametrem i w zalezności od parametru będzie ładować inny content ewentualnie redirect.

To co chcesz zrobić moim zdaniem nie ma większego sensu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.