Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [symfony]Filtry w admin generatorze
Cysiaczek
post 1.03.2008, 11:24:35
Post #1





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Wiem, że szansa jest nikła, ale zapytam.

W wygenerowanym adminie w Symfony mam model Post, to którego mam powiązany model Comment.
Teraz tak,
Posiadam w pliku generator.yml wpis

Kod
      object_actions:
        _edit:        ~
        _delete:      ~
        addcomment:   { name: Add a comment, action: addComment, icon: backend/addcomment.png }
        listcomment:   { name: List comment, action: listComment, icon: backend/addcomment.png }


No i super. Dopisałem sobie akcję addComment, która działa poprawnie.
  1. <?php
  2. public function executeAddComment()
  3. {
  4. $comment = new Comment();
  5. $comment->setOwnerId($this->getRequestParameter('id'));
  6. $comment->save();
  7.  
  8. $this->redirect('comment/edit?id='.$comment->getId());
  9. }
  10. ?>


Teraz problem mam z listComments, bo chce wylistować tylko komentarze do wybranego Posta. Niestety, komentarze pokazuje, ale wszystkie.
  1. <?php
  2. public function executeListComment()
  3. {
  4. $owner_id=$this->getRequestParameter('id');
  5. // tak kombinuje ;/
  6.  $this->redirect('comment/list?filter=filter&filters[owner_id]='.$owner_id);
  7.  $this->redirect('comment/list?filter=filters[owner_id]='.$owner_id);
  8. }
  9. ?>


Jeśli ktoś miał z tym do czynienia i może mnie naprowadzić, to będę wdzięczny

Powyższe funkcjonalności są opisane w dokumentacji, ale niestety. Teoria swoją drogą, praktyka swoją ;/

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
sticker
post 1.03.2008, 11:48:31
Post #2





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

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


Dobra przyznam sie jak ja to robie winksmiley.jpg w generatorze dodaj do znacznika filters w module generującym informacje na podstawie modelu komentarzy filtr dotyczący owner_id (jak rozumiem to jest numer posta któremu przyporządkowane są komentarze). Jak Ci sie wyświetli wygenerowany filtr uzyj go i zobacz jaki url będzie generował i sobie go wklej do swojej metody list comment (oczywiście pomin inne parametry które są zbędne) . I teraz tak, musisz z cache wyciągnąć wygenerowaną metodę filtrującą dla modułu opartego o model komentarzy i wkleić ją do swojej aplikacji - to dlatego że jeśli nie zdefiniujesz filtra w generatorze po prostu kod sie nie wygeneruje do tego typu filtrowania i dlatego nie widzisz żeby zadziałał. To chyba powinno wystarczyć w razie pytań pisz smile.gif


--------------------
Go to the top of the page
+Quote Post
Cysiaczek
post 1.03.2008, 12:38:40
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Rzeczywiście. Dzięki, taka empiryczna metoda jest niezła i przyda się na przyszłość ;p
W sumie to zadziałało
  1. <?php
  2. $this->redirect('comment/list?filter=filter&filters[owner_id]='.$owner_id);
  3. ?>


Nie wiem dlaczego wcześniej nie chciało, ale zapewne była to wina cechu.

Pozdrawiam.

--edit
Już wiem, dlaczego teraz działa. Dlatego, ze dodałem w pliku konfiguracyjnym wyświetlanie filtrów w komentarzach...
ehh... skomplikowane to ;p


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 15:28