Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony] zmienne z akcji do komponentu
AxZx
post
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.
(IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Foxx
post
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
  1. // Call to the component
  2. <?php include_component('news', 'headlines', array('foo' => 'bar')) ?>
  3.  
  4. // In the component itself
  5. echo $this->foo;
  6. => 'bar'
  7.  
  8. // In the _headlines.php partial
  9. echo $foo;
  10. => 'bar'
Go to the top of the page
+Quote Post
AxZx
post
Post #3





Grupa: Zarejestrowani
Postów: 1 385
Pomógł: 55
Dołączył: 1.03.2005
Skąd: śląsk

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


Cytat(Foxx @ 3.03.2009, 00:58:47 ) *
Hm, szczerze mówiąc nie wiem dlaczego masz problem:


rozumiem, że chcesz się dowiedzieć udzielając się?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

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.

  1. <?php
  2. #plik 1 - apps/frontend/module/banner/actions/components.class.php
  3. #plik 2 - apps/frontend/module/kategoria/actions/actions.class.php
  4. #plik 3 - apps/frontend/templates/layout.php
  5. ?>


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?(IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ano proste heh.

dobranoc.
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: 28.12.2025 - 14:48