![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
witam,
czy można w jakiś sposób przekazać zmienne z akcji do komponentu, który mam wstawiony w layout.php? w akcji pobieram jakieś dane, które wyświetlane są w widoku, ale niektóre dane potrzebowałbym przenieść do widoku komponentu. jak to można rozwiązać? chyba popularne zastosowanie (albo rozwiązanie tego) to menu. menu jak wiadomo wyświetlane jest praktycznie na każdej podstronie. w zależności od tego którą pozycję w menu wybierzemy wyświetlana jest przypisana podstrona, a jako dodatek rozwijane jest podmenu. żeby to podmenu mogło być rozwinięte komponent menu musi wiedzieć, które menu zostało wybrane. można pobierać z URL, ale jak w URL jest identyfikator tekstowy a w bazie liczbowy to jest problem. dlatego w akcji pobierany jest dany obiekt przez ten identyfikator tekstowy, a do komponentu chcę przekazać ID liczbowy. za pomysły i pomoc z góry dziękuję. pozdrawiam EDIT: oświecenie:P można to zrobić korzystając z metod sfConfig::set w akcji i sfConfig::get w component. ![]() -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Hm, szczerze mówiąc nie wiem dlaczego masz problem:
Cytat Just like the partials, components accept additional parameters in the shape of an associative array. The parameters are available to the partial under their name, and in the component via the $this object. See Listing 7-13 for an example. Listing 7-13 - Passing Parameters to a Component and Its Template
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Hm, szczerze mówiąc nie wiem dlaczego masz problem: rozumiem, że chcesz się dowiedzieć udzielając się? ![]() to jeszcze chwilę posiedzę przy komputerku specjalnie dla Ciebie i napiszę Ci. postaram się trochę jaśniej, bo może ten opis u góry trochę zagmatwany.
chyba nie trzeba objaśniać, wiadomo co w każdym pliku się znajduje (komponent, akcje, widok). w pliku 1 pobierane są z bazy dane na temat bannerów. w akcji w pliku 2 pobierane są dane odnośnie kategorii. dane z pliku 2 mają trafić do komponent w pliku 1, który jest wywoływany w pliku 3. proste? ![]() dobranoc. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 896 Pomógł: 76 Dołączył: 15.11.2003 Skąd: Sosnowiec/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, z pierwszego posta zrozumiałem, że masz po prostu problem z przekazaniem danych z akcji do komponentu. Dobrej nocy.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 576 Pomógł: 14 Dołączył: 9.11.2005 Ostrzeżenie: (20%) ![]() ![]() |
Ja sobie to rozwiązałem za pomoca partiali i w layout-cie wyglada to tak :
-------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Ja sobie to rozwiązałem za pomoca partiali i w layout-cie wyglada to tak :
ale nie widzę, żebyś przekazywał jakoś dane z innej akcji do tego partiala. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 222 Pomógł: 35 Dołączył: 6.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
w pliku 1 pobierane są z bazy dane na temat bannerów. w akcji w pliku 2 pobierane są dane odnośnie kategorii. dane z pliku 2 mają trafić do komponent w pliku 1, który jest wywoływany w pliku 3. Akcja z pliku 2 ma jakiś szablon prawda ? Zdefiniuj w nim slot i wypełnij do danymi które chcesz mieć gdzie indziej a w szablonie w pliku 3 sprawdzaj czy slot istnieje i jeżeli tak to wyświetl go. Jako że w kolejności najpierw inicjalizowany jest widok dla akcji a później jest dekorowanie do layoutem to powinno zadziałać Ci to jak chcesz. -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
a to nie jest tak, że jak umieścisz zmienną w szablonie akcji, to jest ona dostepna we wrapperze?
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
a to nie jest tak, że jak umieścisz zmienną w szablonie akcji, to jest ona dostepna we wrapperze? a jak się dobrać do wrappera w layout.php ? -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
sorry... wrapper=layout
Strzelam z tym powyżej, bo nie znam jeszcze takich kruczków w SF edit: Zapomnij co napisałem wyżej, tak było kiedyś za czasów SF 1.0. Teraz wszędzie polecają to. edit: Nie zauważyłem, że @arecki już odpowiedział. Ten post edytował LBO 3.03.2009, 15:24:24 |
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
sorry... wrapper=layout Strzelam z tym powyżej, bo nie znam jeszcze takich kruczków w SF edit: Zapomnij co napisałem wyżej, tak było kiedyś za czasów SF 1.0. Teraz wszędzie polecają to. edit: Nie zauważyłem, że @arecki już odpowiedział. dzięki. będę wiedział na przyszłość:) rozwiązanie z sfConfig::get jest o tyle lepsze, że nie mogę od razu w komponencie sprawdzać czy jest ustawiona jakaś wartość, np sfConfig::get('idkategoria'). nie muszę przekazywać z layoutu do komponentu tylko bezpośrednio w nim odczytuje. -------------------- aplikacje internetowe | Symfony
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 27.06.2025 - 03:13 |