Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Symfony]sfGuard
Lonas
post
Post #1





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Hej - stworzylem sobie component.class.php - w layoucie chce wyswietlic nazwe zalogowanego uzytkownika
<?php include_component('gallery', 'GetUser') ?>

szukam i nie moge znalesc jak nazywa sie obiekt ktory tworzy sf_guard ?

tak np nie dziala
  1. <?php
  2. if($this ->sf_user)
  3.        $this->user = $this->sf_user -> getUser()->getGuardUser()->getUsername();
  4.      else
  5.        $this -> user ="brak";
  6. ?>


Ten post edytował Lonas 22.01.2009, 13:45:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
destroyerr
post
Post #2





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Powiem szczerze, że może coś przeoczyłem ale nie wiem skąd masz:
  1. <?php
  2. $this->sf_user
  3. ?>


Nie ma klasy sf_guard więc nie można też stworzyć takiego obiektu. Pewnie chodziło Ci o sfGuardUser.
  1. <?php
  2. $sf_user->getGuardUser()->getUsername();
  3. //lub
  4. $sf_user->getUsername();
  5. ?>
Go to the top of the page
+Quote Post
Lonas
post
Post #3





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Tylko jak sprawdzic czy taki obiekt istnieje

$sf_user

Bo jak sprawdzam tak
  1. <?php
  2. if($sf_user->getUser()->getGuardUser()->getUsername() )
  3.        $this -> user ="jest";
  4.      else
  5.        $this -> user ="nie ma";
  6. ?>


to w przypadku kiedy ten obiekt sf_user nie istnieje to pisze ze nie znana zmienna.

Probowalem tez sprawdzac tak :
  1. <?php
  2. if(isset($sf_user ))
  3.        $this -> user ="jest";
  4.      else
  5.        $this -> user ="nie ma";
  6. ?>


to caly czas pokazuje ze nie ma nawet po zalogowaniu

a takie pytanie jeszcze mam : gdzie moge podejrzec w jaki spoosb sf_guard dodaje uzytkownikow do bazy ? bo chcialbym sobie napisac formularz rejestracji na stronie

Ten post edytował Lonas 23.01.2009, 12:38:28
Go to the top of the page
+Quote Post
destroyerr
post
Post #4





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Heh, zmienna $sf_user nie jest tworzona przez plugin tylko przez framework. Wynika z tego, że zmienna ta jest zawsze dostępna w szablonach. Oczywiście może być inaczej jeśli sam świadomie zmienisz ładowanie tych zmiennych. Zmienne te są ładowane dynamicznie, więc nie odwołuj się do nich przez $this bo ich tam zwyczajnie nie ma, w ogóle z tego co wiem, to w szablonie nie odwołujesz się do klasy widoku.

Napisz dokładnie co chcesz sprawdzić, bo ja nadal nie rozumiem.

Jak dodaje do bazy? Pytania coraz niższy mają poziom. sfGuardUser to model, tworzysz jego obiekt, wypełniasz i zapisujesz.
Go to the top of the page
+Quote Post
Lonas
post
Post #5





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Rejestracje uzytkownikow juz napisalem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) hehe faktycznie glupie pytanie bylo ;-)

Odnosnie pierwszego chce sprawdzic czy jest zalogowany uzytkownik
Go to the top of the page
+Quote Post
destroyerr
post
Post #6





Grupa: Zarejestrowani
Postów: 879
Pomógł: 189
Dołączył: 14.06.2006
Skąd: Bytom

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


Zacząłem podejrzewać, że chcesz to sprawdzać. Symfony logowanie użytkownika ma wbudowane, sfGuardPlugin usprawnia korzystanie z tego. Tak więc sprawdzanie czy user jest zalogowany działa przy pomocy samego frameworka.
Czyli:
  1. <?php
  2. $sf_user->isAuthenticated();
  3. ?>
Go to the top of the page
+Quote Post
Lonas
post
Post #7





Grupa: Zarejestrowani
Postów: 576
Pomógł: 14
Dołączył: 9.11.2005

Ostrzeżenie: (20%)
X----


Nie wiedzialem o tym (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

działa dzieki za pomoc !

Mam jednak jeszcze jeden problem: w kontrolerze działa mi cos takiego :

  1. <?php
  2. $root1 = GalleryPeer::retrieveTree($this->getUser()->getGuardUser()->getId());
  3. ?>


sprawdzam id uzytkownika i wyswietlam odpowiednia galerie


teraz mam formularz gdzie w galleryPeer pobieram dane do wyswietlenia w select tylko ze tutaj nie ma juz id uzytkownika w this..
jak moge sie dobrac w tej klasie do id uzytkownika ?

  1. <?php
  2. class GalleryPeer extends BaseGalleryNestedSetPeer
  3. {
  4.  static public function getOptionForSelect()
  5.  {
  6.    $gallery_tree = GalleryPeer::retrieveTree($this->getUser()->getGuardUser()->getId());
  7.    $options = array();
  8.    $gallery = new RecursiveIteratorIterator($gallery_tree, RecursiveIteratorIterator::SELF_FIRST);
  9.  
  10.    foreach ($gallery as $m)
  11.    {
  12.      $linia = "";
  13.      for($i=0;$i<$m->getLevel();$i++)
  14.       $linia = $linia." - ";
  15.      
  16.      $options[$m->getGalleryId()] = $linia.$m->getName();
  17.    }
  18.    
  19.    return $options;
  20.  }
  21. }
  22. ?>


nastepenie dane ida do widget-a

  1. <?php
  2. 'gallery_id'       => new sfWidgetFormSelect(array('choices' => GalleryPeer::getOptionForSelect() ),array('class'=>'gallery')),
  3. ?>
Go to the top of the page
+Quote Post

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: 23.08.2025 - 20:45