Hello!
Az lenne a kérdésem, hogy AJAX segítségével hogyan tudok elérni egy php-s függvényt?
A lényeg annyi lenne, hogy a modulomban, amit fejlesztek, van egy valami_to_js függvény, ami annyit csinál, hogy adatbázisból lekérdez néhány info-t, és azt adja vissza eredményül. Ez a valami.module fájlban van, és én a valami.js fájlból szeretném meghívni.
előre is köszi a segítséget!
Dani
Melyik modulhoz, modulokhoz kapcsolódik a téma?:
Drupal verzió:
Fórum:
Ehhez az kell, hogy a
Ehhez az kell, hogy a valami_menu() -ben meghatározz egy útvonalat, aminek a callback-je ez a fgv lesz. Nézd meg példaként, hogy a Taxonomy modul hogy kezeli az autocomplete mezőket.
félsiker
Ok, amit írtál, az jó lesz, viszont nincs vége a kérdéseimnek:)
Hozzárendeltem egy menu-höz a függvényem, amit most el is érek js-ből, viszont annyi problémám lenne még, hogy ez a függvény több dolgot is visszaad, köztük megjelenítendő elemeket, stb...
A js-ben nekem viszont csak egy tömb-re lenne szükségem, amit adatbázisból töltöttem fel.
Milyen módszerrel tudnám elérni ezt a tömböt? Esetleg valami div-hez kéne hozzárendeljem?
json
Akkor json tömböt adj vissza a menu callbackból, és ne html kódot. Ha jól értem a kérdést.
drupal_to_js?
Pontosan, ahogy drifter is mondja. Erre a drupal_to_js fuggveny valo: http://api.drupal.org/api/function/drupal_to_js/6
Idezet: "Converts a PHP variable into its Javascript equivalent."
Igen, ez működni fog
Igen, ez működni fog szerintem is, csak annyi a problémám, hogy valahogy úgy szeretném megoldani, hogy amikor betöltöm a vizsgált oldalt, akkor jelenítse meg azt + JSON objektumot is el tudjam érni js-el. Eddig ahogy próbáltam, nem tudtam megoldani, hogy mind2 teljesüljön...
Most azzal próbálkozom, hogy valamelyik globális változón keresztül próbálom elérni a JSON objektumot, csak úgy érzem, nem ez a legszebb megoldás...
Akkor rakd bele az oldalba a
Akkor rakd bele az oldalba a drupal_add_js()-sel settingsként, és majd ki tudod olvasni, mint a Drupal.settings értéke, de ez ugye nem AJAX, csak a fejlécben lesz benne JSON kódolással a változó.
Köszi
Köszönöm a segítséget, de közben találtam egy másik megoldást is, és teljesen igazad van, nem volt szükségem az ajax-ra, a következőket találtam, ami működött:
http://drupal.org/node/127067
Dani