Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] Problem aktywnej zakładki w nawigacji
MickDev
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 2
Dołączył: 16.03.2010
Skąd: ~Sanok

Ostrzeżenie: (0%)
-----


Witam,

Mam następujący problem i nie wiem jak się do niego zabrać. Otóż, mam poziomą nawigację zrealizowaną na tabs'ach, pozycje zaczytywane są z bazy. Po otworzeniu linka wybrana zakładka powinna mieć ustawioną odpowiednią klasę (active).


Nawigację chcę zamknąć w komponencie. Jednak nie wiem jak:

1. Wykryć aktualną ścieżkę ?

  1. $request->getPathInfo(); // ?


2. Aktualną ścieżkę przekazałbym do komponentu w którym porównywałbym dostępne pozycje z aktualną ścieżką. Jeśli znalazłaby się odpowiednia pozycja ustawiam dla niej klasę active. Dobrze myślę ? Proszę o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
MickDev
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 2
Dołączył: 16.03.2010
Skąd: ~Sanok

Ostrzeżenie: (0%)
-----


Quadina, nie o to chodziło, ale dzięki za odpowiedź.

Może wyjaśnię bardziej szczegółowo. W bazie mam wewnętrzne linki typu:
  1. news/show?id=2
  2. news/show?id=4
  3. page/show?id=3

Te z kolei używam w generowaniu nawigacji poprzez funkcję link_to(), która zamienia taki link np. na page/show/id/2.

Funkcja getPathInfo() zwraca taką ścieżkę jak ta wygenerowana przez link_to(). W związku z czym porównywanie tych dwóch rodzajów ścieżek nie ma sensu.

Podczas przeglądania dokumentacji wpadłem na takie coś:

  1. $routing = sfContext::getInstance()->getRouting();
  2. $Myuri = $routing->getCurrentInternalUri();

Dzięki temu dostaję ścieżkę w tej samej formie co te w bazie. Wszystko działa jak należy dla zwykłego routingu. Problem pojawia się jak routing jest typu sfPropelRoute, bo kiedy "page/1" działa poprawnie po wpisaniu w pole adresu to ta ścieżka użyta w link_to() niekoniecznie. System routingu przekształca ten link na "page/1/action" i dostaję komunikat o braku akcji action.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 03:09