![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 199 Pomógł: 31 Dołączył: 22.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
robie w celach naukowych plugin do komentowania wszystkiego co sie chce- narazie pod uwage wzialem content.
w szablonie newsa includuje component i ten poprawnie sie laduje. w action dalem mu link do danego artykulu. Teraz w jaki sposob wywolac zapis do bazy-tzn. zeby po wyslaniu postem odswiezyla mi sie strona i dodal wpis do bazy. Potrzebny jest do tego routing zeby najpierw wszedl do pluginu/componentu? jakos sie zgubilem patrzac na przykladowe pluginy z symfony |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Cytat w action dalem mu link do danego artykulu Raczej powinieneś dać adres do akcji w swoim komponencie, która odpowiada za dodanie komentarza. Cytat zeby po wyslaniu postem odswiezyla mi sie strona i dodal wpis do bazy. Takie rzeczy to bez problemów znajdziesz w dokumentacji. Cytat Potrzebny jest do tego routing zeby najpierw wszedl do pluginu/componentu? Routing jest potrzebny. Nie jestem pewien ale mam wrażenie, że masz jakiś błąd w założeniach, więc dla jasności:
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 199 Pomógł: 31 Dołączył: 22.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
tak, tak wszystko sie zgadza ...ale teoretycznie
w szablonie artykulu mam: ktory wyswietla formularz kierujacy do akcji comment/add. W akcji comment/add mam:
no i teraz, jak wypelnie formularz poprawnie to dokona sie zapis do bazy, ale jesli zrobie blad to po odswiezeniu strony nie robi sie repopulacja formularza. Czyli w momencie forwardu do akcji artykulu nie mam dostepu do zmiennej $this->comment_form Czy cos robie zle ? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czyli w momencie forwardu do akcji artykulu nie mam dostepu do zmiennej $this->comment_form Napisz jeszcze gdzie nie masz tego dostępu. Moim zdaniem komentarze i (np.) newsy nie powinny sobie przekazywać żadnych formularzy (tak jak zrobiłeś to w szablonie). Formularz powinien być jeśli już (ale też niekoniecznie musi) przekazywany tylko między akcją dodawania komentarza i komponentem wyświetlania komentarzy. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 199 Pomógł: 31 Dołączył: 22.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
mam tak jak napisales:
Użytkownik wchodzi na stronę artykułu: -na tej stronie ma wyświetlony artykuł oraz komentarze -komentarze to komponent w Twoim pluginie - tu mam include_component('comment', 'form', array('comment_form' => isset($comment_form) ? $comment_form : null) -formularz dodawania komentarza powinien kierować do akcji w pluginie (i kieruje comment/add) Użytkownik wypełnił formularz i wysłał go: -akcja w pluginie zapisuje komentarz (akcja comment/add zapisuej jesli jest ok, jesli nie powinna repopulowac formularz) Użytkownik jest przekierowywany: -możesz przekierować na podstawie nagłówka referer (przekierowanie dziala, ale formularz nie ma repopulacji) -albo możesz rozpoznać dla jakiego obiektu komentarz został dodany i przekierować na jego stronę |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 7 Dołączył: 10.03.2011 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Zobacz sobie na stronie Symfony jak zrobione są gotowe pluginy tego typu (podałbym link ale wyświetla mi się "Wpisałeś link do strony do której administrator nie pozwala linkować") Używałem tylko sfPropelActAsCommentableBehaviorPlugin ale pozostałe, sądzą po opisach mają podobną funkcjonalność(IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 199 Pomógł: 31 Dołączył: 22.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ok, przerobilem na ajaxa i dziala ok.
tez patrzylem na ten plugin, ale nie rozumialem kilku rzeczy ktore sa w nim zdefiniowane a narazie nie mam czasu doszukiwac sie tego w dokumentacji. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 01:03 |