Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony] formularze i logowanie
Forum PHP.pl > Forum > PHP > Frameworki
jarre1987
Witam,

Mam taka oto tabele:
CODE
Mail:
Id_user
From_who
Message
Read
Date


Zrobilem generate crud w konsoli. Teraz po wygenerowaniu formularzu ( bez pola READ )..jak ustawic from_who z listy wyboru aby ustawial sie w zaleznosci od tego jaki uzytkownik sie zaloguje?. Poprostu co trzeba wiedziec. Jak to zrobic, czym sie kierowac??
michalg
Ja bym to zrobił tak (doctrine) :

  1. <?php
  2. class TabelaForm extends BaseTabelaForm {
  3.   public function configure() {
  4.       [...]
  5.       // usuwamy pole z formularza, bo będzie nadawane automatycznie
  6.       unset($this['from_who']);
  7.       [...]
  8.   }
  9.  
  10.    protected function doSave($con = null) {
  11.       // wpisujemy do obiektu id uzytkownika
  12.       if ($this->object->isNew()) {
  13.           $this->object->setFromWho(sfContext::getInstance()->getUser()->getId());  // tu wyciągasz id zalogowanego użytkownika
  14.       }
  15.  
  16.       parent::doSave($con);
  17.    }
  18. }
  19. ?>
-=Peter=-
A ja bym to zrobił inaczej (bo raczej w klasie formularza nie powinno być takich zależności z klasą myUser, chociaż jak kto woli)

  1. <?php
  2. //klasa mailActions
  3.  
  4. public function executeSave(sfWebRequest $r){
  5.  $form = new MailForm();
  6.  
  7.  if($r->isMethod('post')){
  8.    $values = $r->getParameter('mail');
  9.    $values['from_who'] = $this->getUser()->getAttribute('id');
  10.    $form->bind($values)
  11.    //dalej standardowe $form->isValid() i zapisanie danych itp.
  12.  }
  13. }
  14. ?>
michalg
Cytat(-=Peter=- @ 18.05.2009, 22:24:32 ) *
A ja bym to zrobił inaczej (bo raczej w klasie formularza nie powinno być takich zależności z klasą myUser, chociaż jak kto woli)


Też na początku się wachałem, czy takie rzeczy powinny być w klasie formularza. Ale w końcu podjąłem decyzję, żeby to tam umieszczać - dzięki temu więcej logiki tworzenia obiektu przesuwa mi się z akcji do formularza.

Edit:
Zresztą, przy bardziej złożonych formularzach, w których dostępność pól uzależniona jest od uprawnień użytkownika, jeszcze trudniej nie sięgać do klasy user.
jarre1987
nie wychodzi mi cos... chce zrobic tak:

- z listy wyboru user_id jest lista z innej tabeli friends i po criterii z okreslonym jak narazie stalym id wyszukuje mi znajomych do listy(tez nie mam pojecia jak to zrobic zeby poprzez id zalogowanego usera mi wyszukiwalo)

- a z listy from_who ktora ma byc ukryta powinna byc ustawiona domyslna wartosc zalogowanego usera (zeby bylo wiadomo od kogo wiadomosc zostala wyslana).

Moze inaczej sie to da zrobic niz mysle?? Nie jestem doswiadczony w symfony, wiec nie wiem jak to inaczej rozwiazac, zeby bylo poprawnie...
michalg
Cytat(jarre1987 @ 19.05.2009, 12:26:25 ) *
nie wychodzi mi cos... chce zrobic tak:

- z listy wyboru user_id jest lista z innej tabeli friends i po criterii z okreslonym jak narazie stalym id wyszukuje mi znajomych do listy(tez nie mam pojecia jak to zrobic zeby poprzez id zalogowanego usera mi wyszukiwalo)


Pokazaliśmy Ci, jak wydobyć id zalogowanego użytkownika. Musisz go wrzucić do tej criterii.

Cytat(jarre1987 @ 19.05.2009, 12:26:25 ) *
- a z listy from_who ktora ma byc ukryta powinna byc ustawiona domyslna wartosc zalogowanego usera (zeby bylo wiadomo od kogo wiadomosc zostala wyslana).

Moze inaczej sie to da zrobic niz mysle?? Nie jestem doswiadczony w symfony, wiec nie wiem jak to inaczej rozwiazac, zeby bylo poprawnie...


Dostałeś dwa sposoby na to (co prawda mój był pod doctrine, ale propelu powinno działać podobnie), więc w czym problem?
jarre1987
ok spoko, tylko pytalem czy mozna inaczej to rozwiazac. Dzieki za pomoc smile.gif
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.