Łukasz Woźniak

Łukasz Woźniak Starszy programista,
Asseco Business
Solutions S.A.

Temat: Admin-Generator - $this->redirect()

Witam,

Pojawił mi się pewien problem. Otóż, w wygenerowanej jednej ze stron chcę zrobić akcję, która ma odnośnik do innej strony wygenerowanej w admin-generator. Tylko, że przy okazji włączała filtr na zasadzie wcześniej wciśniętej akcji.

Screencast z przykładem jest na głównej stronie symfony. Zrobiłem w podobny sposób, ale filtr nie jest włączony. Problem raczej leży w linku, który jest budowany w funkcji: $this->redirect(). I tutaj proszę o pomoc Was.
Używam Doctrine.

generator.yml

object_actions:
_edit: ~
_delete: ~
all_stages: { label: All Stages, name: show stages, action: Stages }


tutaj funkcja.

public function executeStages(sfWebRequest $request)
{
$this->redirect('stage/index?filter=filter&stage_filters[id]='.$request->getParameter('id'));
}


Szukałem wszędzie odpowiedzi oraz zrobiłem tak jak w screencascie i mam problem, bo nie działa.Łukasz Woźniak edytował(a) ten post dnia 27.04.10 o godzinie 17:46
Marek Wywiał

Marek Wywiał Programista,
administrator,
instruktor

Temat: Admin-Generator - $this->redirect()

Z tego co pamiętam to redirect używa genUrl, a ten znowu z 'stage_filter[id]' sobie nie poradzi.

Podanie do redirect pełnego url z http + dodanie ręcznie ?opcje powinno zadziałać.

Pełny url do redirect możesz uzyskać do genUrl (url_for) z parametrem absolute = True.
Łukasz Woźniak

Łukasz Woźniak Starszy programista,
Asseco Business
Solutions S.A.

Temat: Admin-Generator - $this->redirect()

Sam nie wiem czy w 1.4 aż tak sie pozmieniało? Zrobiłem znów identycznie. W dwóch projektach i nie działa to.

Dane odfiltrowałem na poziomie tablemethod. Z idei nie jestem zadowolony ale narazie pomysłu nie mam. Jak znajdę rozwiązanie to go opiszę może się komuś przyda w przyszłości :)
Paweł Kubasiak

Paweł Kubasiak Artysta Programista

Temat: Admin-Generator - $this->redirect()

Łukasz Woźniak:
Sam nie wiem czy w 1.4 aż tak sie pozmieniało? Zrobiłem znów identycznie. W dwóch projektach i nie działa to.

Dane odfiltrowałem na poziomie tablemethod. Z idei nie jestem zadowolony ale narazie pomysłu nie mam. Jak znajdę rozwiązanie to go opiszę może się komuś przyda w przyszłości :)


Ja właśnie utknąłem na tym problemie można prosić o rozwiązanie :P

konto usunięte

Temat: Admin-Generator - $this->redirect()

Z tego co pamiętam to screencast jest stworzony dla symfony 1.0.
W której to wersji filtrowanie wyników jest całkowicie inne niż w symfony 1.2 i nowszych, ponieważ tam są już używane do tego klasy *FilterForm.

spróbuj może tego(chociaż nie gwarantuje jak będzie działać bo nie testowałem):

public function executeStages(sfWebRequest $request)
{
$values = array();

//tutaj podaj odpowiednie wartości pól dla filtra
$values['id'] = $request->getParameter('id')'

$this->setFilters($values);

$this->redirect('@stage');
}

tylko że ta funkcja musi być w stageActions, bo ustala nowe wartości pól formularza filtrów dla danego modułu admin generatora (ustawiane to jest w metodzie setFilters).

ps.
Dobrze by było gdybyś przyjrzał się kodowi(szczególnie metodzie executeFilters) wygenerowanemu przez admin generator (w cache'u), ponieważ zmieniła się też jego implementacja w porównaniu z symfony 1.0
Michał Płonka

Michał Płonka Programista PHP

Temat: Admin-Generator - $this->redirect()

Możliwe, że chodzi Ci o to:
http://www.goldenline.pl/forum/1319654/filtrowanie-pop...



Wyślij zaproszenie do