Sziasztok!
Saját modulban a hook_view() függvényt használom arra, hogy egy bizonyos tartalomtípusba tartozó node megjelenítésekor megjelenjen egy űrlap, ami a node->content['akármi']['#value'] értékeként van megadva HTML kódként. Hogyan tudom megkapni/kiértékelni az űrlap által elküldött adatokat, ha a form action attributumaként ugyanezt az oldalt adtam meg?
Köszönettel:
Drupal verzió:
Fórum:
POST vagy GET
de használd inkább a FORM API-t
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
pl így
node->content['akármi']['#value'] = drupal_get_form('example_embed_form')
majd..
function example_embed_form_submit($form, &$form_state) {
//$form_state['values']['mezo'] = t('Ezt kerestem');
}
Köszönet
Mindkét javaslatot megfogadtam. Most már csak az a kérdésem, hogy a formkreátor_submit() függvényben kiokoskodott eredmény(eke)t hogyan jeleníthetném meg ugyanezen az oldalon.
Fox Mulder
Mit akarsz?
Két teljesen külön dologról beszész, akár új témát is indíthatnál neki. :D
Az űrlap adatait elmented aztán ezeket az elmentett adatokat jeleníted meg. Vagy nem mented el az adatokat?? Akkor mit csinálsz velük?
Valahova el kell mentened mert a web így működik. Az, hogy ez adatbázis, egy fájl vagy munkamenet az tök mindegy de el kell mentened. A kérdésedre csak utána tudunk válaszolni, de akkor már Te is tudni fogod a választ.
Jó lenne a teljes problémát felvázolnád - persze csak akkor ha nem szupertitkos, mert ugye 5000 felhasználót nem kéne megölni... - és akkor lehet érdembe tudnánk segíteni és egy összegányolt, magába zuhanó, karbantarthatatlan drupalos oldallal ismét kevesebb lenne. ;)
pp
Palócz István
https://palocz.hu | https://tanarurkerem.hu
Ezt akarom
Dióhéjban ezt szeretném:
A formon kiválasztható egy bizonyos szótár összes kifejezéséből valamennyi (mindegy, mennyi, nem kell az összes). Eredményként azon node-ok listáját szeretném megjeleníteni (a form alatt, ugyanezen a lapon), amelyek a kiválasztott kifejezések mindegyikébe beletartoznak. Azt hittem, hogy ha a ..._submit() függvényben csinálok egy adatbázislekérdezést és az eredményt (mondjuk a kapott node-ok listáját tömbként) berakom a $form_state-be, akkor elérhetővé válik a formot definiáló függvényben és megjeleníthető egy markup típusú form elemben.
Fox Mulder
a $form_state jó írány
nem tudom, h azóta megoldottad-e, de jó irányba keresgélsz, csak ahhoz hogy működjön szükséges néhány lépés.
Első, hogy a formodnak fogadnia kell a $form_state változót első paraméterként:
A következő lépés, hogy meg kell kérned a FAPI-t, hogy építse újra a formodat beküldés után. Erre két lehetőséged van: vagy a $form_state['rebuild']-et állítod TRUE-ra, vagy a $form_state['storage']-ba teszel valamit:
hivatalos:
de ez is működik:
Bármelyket választod a _submit() után a FAPI újra meghívja a formod, csak mostmár nem egy "üres" $form_state-el, hanem azzal, amit a _submit() "visszaadott":
Egyébként ugyan ezzel a megoldással működnek a többoldalas űrlapok is, csak akkor küldönböző form definíciót adsz vissza a $form_state állapotának függvényében, bár ha úgy vesszük, akkor ez is egy többoldalas űrlap: az első oldalon nincs eredmény, a másodikon pedig van.
SEO: remélem ez így most elég aboros barát. :D
Szuper!
Örök hálám! Megvilágosodtam...
Fox Mulder
:)
nekem már az előző is jó volt, nem tudom miért érezted, hogy cinkellek, komolyan gondoltam amit írtam. rövid volt tömör, de volt benne mit keresni. bejött.
-
clear: both;
hook_view(): "első" sor:
hook_view():
"első" sor: $dummy = drupal_get_form('...');
"második" sor: ebben a sorban már hozzáférsz az adatokhoz, akár az adatbázisba mentetted akár $_SESSION-ben tároltad.
"harmadik" sor: node->content['akármi']['#value'] = $dummy;
Konkrét példát a watchdog.module-ban találsz.
ez az, így kell
segíteni! szuper ez, tele van keresőszavakkal, szép segítség! elolvasva egy nagy semmi, utánagondolva viszont máris tudom mit keressek. szép!
-
clear: both;
igaz, igaz és még el is írtam
bár alapvetően "kódolt" kiegészítésnek szántam pp megjegyzéséhez, a SE-k meg eszembe se jutottak.... bocsi.
Ráadásul el is írtam, mert D6-ban már dblog-nak hívják a modult. Egész pontosan a dblog.admin.inc dblog_overview() fv-re gondoltam. Legalábbis szerintem az egy nagyon jó alap példa a "Hogyan tegyünk szűrő form-ot és eredményeket egy lapra" probléma megoldására.
Jól értem?
Szerintem aboros abszolút dicséretnek szánta :) Nekem legalábbis nagyon hasznos volt.
Fox Mulder
form adott mező értékének lekérdezése
Sziasztok, az lenne a kérdésem, hogyha van egy formom akkor annak egy adott mezőjét, hogy tudom lekérdezni, hogy mi az értéke. Például a nyelv mező értéket.
Előre is köszönöm a segítséget
új kérdésnek új téma
kérlek nyiss új témát a kérdésednek