Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] Przyjazne linki
Forum PHP.pl > Forum > PHP > Frameworki
stirith
Dodałem coś takiego do routing.yml

Kod
ogloszenia_pokaz:
  url:   /index/:company/:location/:id/:position
  param: { module index, action: show }


w kodzie strony dodałem :

Kod
<?php echo url_for('index/show?id='.$ogloszenie->getId().'&company='.$ogloszenie->getCompany().
  '&location='.$ogloszenie->getLocation().'&position='.$ogloszenie->getPosition()) ?>


Wszystko zgodnie z dniem 5 w jobeet, tylko że zamiast linku:

Kod
http://localhost/symfony/ogloszenia/web/index/show/6/Google/Warszawa/Grafik

to mam:
Kod
http://localhost/symfony/ogloszenia/web/index/show/id/6/company/Google/location/Warszawa/position/Grafik


co zmienić żeby usunąć, te nazwy kolumn tabeli z linku (id, company, location, position)
destroyerr
W rozdziale 5 parę linijek wyżej nad tym co przytoczyłeś jest TIP.
Cytat
When you update the routing configuration, the changes are immediately taken into account in the development environment. But to make them also work in the production environment, you need to clear the cache.

Po adresie widzę, że linki nie pojawiają Ci się w środowisku prodykcyjnym, wyczyściłeś cache?
stirith
te linki to na produkcyjnym....

Wszystko jest już ok, bo użyłem klasy: sfPropelRoute, i ta klasa już nie daje do linków nazw kolumn..

Można zamknąć

Teraz mam kolejny problem, a mianowicie, używam klasy: sfPropelRoute -> i wywala mi błąd nie wiem dlaczego,

w routing.yml mam:

Kod
ogloszenia_pokaz:
  url:   /index/:company/:location/:id/:position
  class: sfPropelRoute
  options: { model: Ogloszenie, type: object }
  param: { module index, action: show }
  requirements:
    id: \d+
    sf_method: [get]


w szablonie:

Kod
<?php echo link_to($ogloszenie->getPosition(), 'ogloszenia_pokaz', $ogloszenie, true) ?>


w kontrolerze

Kod
   public function executeShow(sfWebRequest $request)
  {
    $this->ogloszenie_list = $this->getRoute()->getObject();
  }


Co prawda, dobrze się generuje link czyli:

Kod
http://localhost/symfony/ogloszenia/web/frontend_dev.php/index/Google/Warszawa/6/Grafik


ale ten link nie działa wywalając błąd

Kod
[b][size="3"]404 | Not Found | sfError404Exception[/size][/b]
   <h2 id="message">[size="3"]Action "index/Google" does not exist.[/size]</h2>


w czym tkwi problem ?
destroyerr
W którym miejscu routing.yml wstawiłeś swój wpis? Na początku czy na końcu? Powinieneś go wstawić tak, aby był powyżej tych defaultowych tras.
stirith
Cytat(destroyerr @ 26.05.2009, 14:50:34 ) *
W którym miejscu routing.yml wstawiłeś swój wpis? Na początku czy na końcu? Powinieneś go wstawić tak, aby był powyżej tych defaultowych tras.



dzieki wielkie smile.gif -> miałem poniżej...
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.