Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony] roszerzanie sfGuardPlugin i problem z cache, tworzenie wspólnego admina
phpion
post
Post #1





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Witam smile.gif
Mam pewien problem z Symfony, konkretnie z rozszerzaniem klas + cache'owaniem w generatorze admina.

Otóż używam sfGuardPlugin i rozszerzam jego pola o kolejne (np. imię) i chciałbym edytować wszystkie dane usera w jednym miejscu. Korzystając więc z rady http://www.symfony-project.com/forum/index...msg/4782/20465/ zrobiłem tak jak pokazano. Niestety, jest pewien problem z przeładowanem tych dwóch metod. Gdy zrobię tak jak podano w przykładzie to dodatkowe dane nie są zapisywane do bazy danych, a w /cache/backend/dev/modules/autoUsers/actions/actions.class.php mam kod wyjściowy bez tych rozszerzeń w tych dwóch metodach. Może robię błąd jeśli chodzi o plik, w którym definiuję przeładowanie metod; robię to w /plugins/sfGuardPlugin/modules/sfGuardUser/actions/actions.class.php więc wydaje mi się, że w dobrym miejscu... Jeśli natomiast dodatkowy kod dokleję bezpośrednio do wygenerowanego cache to wszystko śmiga. Tyle tylko, że przy "symfony cc" wszystko i_dzie!...

Próbowałem również skopiować kod wygenerowany z cache bezpośrednio do /plugins/sfGuardPlugin/modules/sfGuardUser/actions/actions.class.php w miejsce wywołań metod nadrzędnych parent::metoda() ale wtedy wygenerowany na nowo cache zawierał tylko kody metod "wyjściowych", a nie tych rozszerzonych.

Poradźcie co mam zrobić bo zgłupiałem :|

Dzięki serdeczne już z góry smile.gif
Go to the top of the page
+Quote Post
destroyerr
post
Post #2





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

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


Moim zdaniem nie powinieneś niczego edytować w folderze plugins, ponieważ w razie update'owania pluginu stracisz wszystkie zmiany. Zresztą w linku, który podałeś też jest to napisane. Całe rozszerzanie metod itd. rób w apps->appname->modules->sfGuardUser->actions.
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Tak, tylko w tym pliku mam klasę dziedzicząco po generatorze:
  1. <?php
  2. class usersActions extends autousersActions
  3. ?>

Próbowałem dodać:
  1. <?php
  2. class sfGuardUserActions extends BasesfGuardUserActions
  3. ?>

w tym samym pliku ale pluje "Fatal error: class X not found". Czy dobrze robię? Jeśli tak to ma wyglądać to powalcze ze ścieżkami, ale nie chciałbym tego robić na próżno.
Go to the top of the page
+Quote Post
jupeter
post
Post #4





Grupa: Zarejestrowani
Postów: 50
Pomógł: 1
Dołączył: 14.07.2004
Skąd: Warszawa

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


Hmm ... a tak się zastanawiam czy włączyłeś moduł "sfGuardUser" w settings.yml?


--------------------
www.symfony.pl - serwis społeczności symfony
Go to the top of the page
+Quote Post
destroyerr
post
Post #5





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

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


Nie to jest problemem. Wystarczy odwiedzić plik: plugins->sfGuardPlugin->modules->sfGuardUser->actions->action.class.php i widzimy, że plugin dodaje plik BasesfGuardUserActions.class.php "ręcznie". To samo musisz zrobić w pliku modułu z akcjami.
Go to the top of the page
+Quote Post
phpion
post
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Ok, dzięki serdeczne za pomoc! Problem leżał w tym, że nazwałem moduł w adminie "users", a powinien być "sfGuardUser". Stąd te szopki z brakiem klas. Ale jeszcze raz dzięki za zainteresowanie!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 22:07