1

Temat: inkludowanie w widoku innego kontrolera

Witam.

Stworzyłem sobie kontroler "Ankieta" w której stworzyłem metody dodawania, usuwania z bazy i wyświetlania ankiety. Z tym że chciałbym wyświetlać tą ankietę na każdej stronie w menu.
W metodzie wyświetlania ustawiłem $this->layout = 'empty'
I chciałbym zrobić jakiś render w domyślnym layout'cie. Szukałem, kombinowałem ale nie mam pojęcia jak to zrobić.
Proszę chociaż napisać że się nie da jeśli to prawda.

2

Odp: inkludowanie w widoku innego kontrolera

a requestAction próbowałeś?

3

Odp: inkludowanie w widoku innego kontrolera

Robisz z takiej ankiety element i renderujesz sobie co chcesz, gdzie chcesz i kiedy chcesz. Kontroler ankiety nie ma z tym nic wspólnego dopóty ktoś nie submituje ankiety - wtedy on obrobi tego submita i możesz wrócić do miejsca gdzie byłeś.
Po szczegóły odsyłam do dokumentacji, bo jest wyjaśnione elegancko:
http://book.cakephp.org/view/97/Elements

4

Odp: inkludowanie w widoku innego kontrolera

red: Tak masz racje, ale tylko wtedy gdy ankieta jest na stałe. A ja chciałem żeby w panelu admina dodawać ankiety i w menu wyświetlał pobraną z bazy ankietę.

id02009: Dzięki - tego szukałem smile

Ostatnio edytowany przez Bonetti (2009-05-21 11:39:06)

5

Odp: inkludowanie w widoku innego kontrolera

Bonetti wcale nie stałe - możesz przekazać do elementu parametry, w tym np. id ankiety i taka ankieta zostanie pobrana i wyswietlona.

6

Odp: inkludowanie w widoku innego kontrolera

ale jak z elementu pobrać tablice z bazy? Musiałbym w każdym kontrolerze wpisywać  var uses = 'ankieta'; i w każdej metodzie kontrolera ustawiać zmienną przez $this->set.

7

Odp: inkludowanie w widoku innego kontrolera

Dlatego nieco wygodniejszym jest skorzystanie z requestAction

8

Odp: inkludowanie w widoku innego kontrolera

A nie stworzyc komponent "ankieta". Tak samo robi sie przy dynamicznych menu.

9

Odp: inkludowanie w widoku innego kontrolera

duke_piotr napisał/a:

A nie stworzyc komponent "ankieta". Tak samo robi sie przy dynamicznych menu.

Raczej helper ;-)