AJAX i ezpublish

Musisz być zalogowany aby uzyskać dostęp do forum. Możesz się zalogować tutaj

Autor Wiadomość

Marcin Ważny

Postów: 51 od 04/01/2008

Sobota 02 Sierpień 2008 8:22:15 pm

AJAX i ezpublish

Witam

Ma ktoś jakiś sposób na zastosowanie ajax'a w ezpublish. Chodzi o to, że raz próbowałem zrobić przy wyszukiwarce, aby po kliknięciu button'a w tle wyszukiwało i wyrzucało wyniki do content. Problem jest taki, że w ezpublish zwraca mi wyniki w postaci całej strony. Taki sam problem przy formularzu kontaktowym, a ja np bym chciał aby zwróciło napis "Dziękujemy za kontakt" itp, lub w przypadku błędu "Brak, lub błędnie wprowadzone dane".

Jeśli ktoś pracował nad takim problemem to będę wdzięczny za podpowiedź:)

Pozdrawiam
Marcin

Bartek Modzelewski

Postów: 133 od 05/07/2006

Poniedziałek 04 Sierpień 2008 8:13:33 pm

Re: AJAX i ezpublish

Witaj Marcinie,

polecam to rozszerzenie: http://projects.ez.no/ezxajax

Generalnie Twoim problemem jest ładowanie całej strony, zamiast konkretnego szablonu. Można to osiągnąć dość prosto przy użyciu prostego modułu i widoków, działa szybko i sprawnie. Jeśli chcesz ładować kontent w pełnym widoku, musisz sobie też stworzyć specjalny pagelayout, okrojony niemal do samego:


{$module_result.content}


Wśród rozszerzeń dostępnych na http://ez.no i http://projects.ez.no znajdziesz też kilka przykładów zasotosowania xajax.

Powodzenia

Marcin Ważny

Postów: 51 od 04/01/2008

Wtorek 05 Sierpień 2008 8:33:04 pm

Re: AJAX i ezpublish

Witam

Dzieki wlasnie tego szukalem

Pozdrawiam

Marcin Ważny

Postów: 51 od 04/01/2008

Środa 09 Wrzesień 2009 9:51:38 pm

Re: AJAX i ezpublish

Witam wszystkich!

Mam problem z tym AJAX w eZ Publish. Sposób z layout/set jest świetny i już kiedyś go wykorzystywałem, natomiast mam inny problem. Chodzi o ezurl, jeśli wykonam żądanie AJAX, autmoatycznie wszystkie linki zamieniają się na layout ajax (np ../layout/set/ajax.....) Oczywiście moge wszystkie ręcznie w szablonach przerobic i wklepac statycznie, ale wydaje mi sie to rozwiązaniem "okrutnym". Po za tym zostają linki w zawartości. Ma ktoś na to jakąś radę?

Pozdrawiam
Marcin

Rafał Michalski

Postów: 8 od 18/10/2009

Niedziela 18 Październik 2009 2:39:22 am

Re: AJAX i ezpublish

Zawsze możesz napisać własny moduł w extensions i odwołać się z AJAXa bezpośrednio do niego poprzez URL:
http://ezpublishsite/nazwa_modulu/funkcja/parametr1/parametr2/ itp

w module definiujesz funkcje, zaś w kodzie php funkcji możesz korzystać ze wszystkich dobrodziejstw eZPublisha tylko że zamiast upychać wynik do zmiennej $Result
"wypluwasz" to co ma zwrócić serwer bezpośrednio przez echo lub print a na końcu wołasz
eZExecution::cleanExit();
żeby eZ nie "wypluł" całej strony.

--
Rafał Michalski
Najmocniejszy javascript minifier: http://jsyamin.royal.asz.pl
Znajdź lotniska na całym świecie: http://airports.royal.asz.pl

Marcin Ważny

Postów: 51 od 04/01/2008

Niedziela 25 Październik 2009 1:30:18 am

Re: AJAX i ezpublish

Witam

Dzieki za podpowiedź, ale czy możesz nieco rozwinąć. Bo do końca nie rozumiem. Ja bym chciał, aby normalnie każdy obiekt/węzeł mógł być widoczny przy użyciu ajax. Przy użyciu layout/set/... tak właśnie to działa, tylko problem właśnie w tych linkach.

Marcin Ważny

Postów: 51 od 04/01/2008

Czwartek 04 Marzec 2010 8:33:21 pm

Re: AJAX i ezpublish

Znów odświeżam temat, bo nadal mam problem z tym ajax w eZ Publish. Ściągnąłem i aktywowałem rozszerzenie eZ Xajax, nie ma tam żadnej dokumentacji kompletnie nic oprócz czegoś w stylu xajax_javascript(), - nie potrafie sobie za nic w świecie wyobrazić jak to ma niby obsługiwać request'y ajax'owe. Dalej przeszukałem chyba wszystkie możliwe wątki na różnych forach i dalej stoje w miejscu, 4 godziny i w zasadzie dalej nie wiem jak zastosować xajax w ezpublish. Proszę o pomoc osobę, która miała z tym do czynienia. szukałem jakiegoś rozszerzenia co pomoże w generowaniu widoku dla ajax, z samymi danymi, bez zapamiętywania adresu, aby reszta zawartości pobieranej bez użycia ajax ładowała się normalnie, a w ez xajax dostaje niepotrzebnie (bo do wysyłania żądania mogę sobie sam napisać kod js lub uzyc skompresowanej biblioteki jquery, której i tak używam do galerii) z 10 plików z kodem js (po holere tyle tego dla request'ów i ewentualnie wysyłania danych z formularzy w ajax) i nawet nie wiadomo jak tego użyć w tym ezpublish.

Pozdrawiam i z góry dzięki za przykłady użycia ez Xajax lub sposobu na te holerne linki, aby nie zmieniały na stałe "widoku" dla ajax, gdy raz wywołam request'a.

EDIT:

DZIĘKI Rafał !

Przeczytałem twój post kilkakrotnie ponownie i po wielu trudnościach udało się. Napisałem sobie rozszerzenie z własnym modułem, w którym umieściłem funkcję view modyfikując ją odpowiednio jak podpowiedziałeś.

Dokładny wycinek kodu:


...
if ( $viewCacheEnabled )
{
...
echo $Result['content'];
eZExecution::cleanExit();
}else{
...
echo $data['content']['content'];
eZExecution::cleanExit();
}
...

Dzięki takiemu rozwiązaniu mogę pobierać dane niemal w identyczny sposób jak normalnie, tylko z tą różnicą właśnie, że pobieram sobie same dane. Przykład:
http://localhost/ezpublish/index.php/plain_site/ajax_modul/view/full/59 - dla widoku full
Do tego mogę teraz zawsze sobie dopisać widok xml i/lub JSON i dla każdej klasy lub tych dla których będzie potrzeba szablon dla danego widoku. Jeszcze coś podobnego dla formularzy i modułu user (funkcja login) będę musiał od razu dopisać.


Jeszcze raz wielkie dzięki
Pozdrawiam
Marcin
Ps. Jakbyście jednak wiedzieli jak korzystać z ez Xajax to i tak proszę napisać, bo też się przyda.


Musisz być zalogowany aby uzyskać dostęp do forum. Możesz się zalogować tutaj