Webform submission után redirect

Vic68 képe

Célom az volna, hogy az authentikált felhasználó kitölt egy webform-ot, és ha helyesen tette (Webform validator), ezek után amikor újra a webform címére megy, akkor kerüljön átirányításra egy másik url-re.
Gondolom, valahogyan a rules modullal kellene megoldani, de sehol sem találok olyan lehetőséget, ahol egy adott címre lépéskor automatikus redirect következne be.

Ahol most tartok:
- Létrehoztam egy webform-ot és a webform validator-ral "validáltam". A validator-ral beállítottam a redirect-et.
- Amikor azonban a felhasználó megint az adott webform-ra lép, nem kerül automatikusan átirányításra.
Ideális az lenne, ha meg tudnám egyben azt is oldani, hogy a következő látogatásakor a webform-on automatikusan lehetne a régi submit-jét validálni, és a webform megjelenése nélkül egyből redirect-álni lehetne.

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
pp képe

ööö Te nem azt akarod, hogy egy júzer csak egyszer tölthessen ki egy webformot?

pp

0
0
Vic68 képe

1) Ha ez azt jelentené, hogy a webform kitöltése csak akkor kerül beküldésre, ha a webform validator elfogadta, akkor lehet ez kezdetnek jó. Mindezek után azonban ha legközelebb a webform-ot akarja megnézni, akkor redirekt-áljon át a webform submit esetén elérendő url-re, de ne a submit gomb után, hanem mielőtt letöltené a webform-ot.

2) Gondoltam, hogy jó volna egy olyan redirect megoldás megismerése, ami más (nem webform) jellegű oldalakról is tud redirect-et csinálni mondjuk a Rules segítségével. Elfogadom, hogy erre legyen másik megoldás, ha nincsen generális út az elsővel.

Remélem, nem zavaros a leírásom.

Vic
www.recteam.hu

0
0
pp képe

Rules az jó lehet, ha van a webformnak olyan rules kiegészítője (vagy lehet kódot is tolhatsz a Rulesnak) ami igazat ad, ha a júzer kitöltötte a webformot.

Rules kb.:
* mi legyen az akció: felveszel egy új szabályt (node view, vagy valami hasonló)
* mikor: két feltételt adsz hozzá: node típusa webform (ilyen van), a webform ki van töltve(ilyen nem tudom hogyan tudsz összehozni)
* mit csináljon: beállítod azt az akciót ami az adott oldalra irányít.

Kb ennyi. A második lépés, második feltétele felderítésre vár.

pp

0
0
Vic68 képe

Köszönöm, hogy segíteni akarsz, de sajna ez nem jó irány.
Ebben az esetben, ha volna is ilyen lehetőség a rules-ban, az történne, hogy minden helyesen kitöltött webform után az adott oldalra (redirect) ugrana a felhasználó.
Valahogyan a rules-nél olyan megoldást kellene keríteni, ami egy adott node megnézésénél kezdi el vizsgálni a többi feltételt.
Én itt akadtam el.
Olyan rules függvény kellene, ami azt eredményezi, hogy csak az adott url beírásakor kezdi el vizsgálni a dolgot.

0
0
Vic68 képe

Kicsit körülnéztem a modulok között és találtam egy PathRules (http://drupal.org/project/pathrules) nevű modult.
1) Ezt felraktam és engedélyeztem.
2) A triggered Rules alatt az add new rule-ban:
-cimke: "!xy oldal redirect, ha a usernek !wz joga van";
-Event: "User is going a to view a page";
-Súly: -10
3) Rule elements "IF" oldalán:
- Check path
- - itt megadtam az url-ből a path-t (path= "http://www.domain.kiterjesztés/" nélkül az url)

!!!!!!!!!! ha van autopath beállításod, akkor egy "OR"-ba tedd bele a node/xy és az autopath értéket is, hogy bárhogyan is hívja meg a user, belefusson az akcióba!!!!!!!!!!!!!!!!

4) Rule elements "DO" oldalán:
- Page redirect
- - itt megadtam a cél url-t.

Végezetül pedig:
A 3)-as mezőben további feltételt is betettem, mint pl., hogy csak adott jogosultságú felhasználó esetén induljon az akció. ("User has role(s)")

Ez lett a megoldás.

Vic
www.recteam.hu

0
0
pp képe

Azt mondod, hogy a Rulesban nem lehet hozzáadni egy olyan feltételt, hogy nid=x??

1
0
Vic68 képe

Én nem találtam ilyet a rules-ban, csak a PathRules segítségével. Egyébként az egész modul valami 80 sor, úgyhogy nyúlfarknyi az egész.
Ha Te találtál, akkor segíts ki, és máris nem fogom használni a PathRules modult. :)

Vic
www.recteam.hu

0
0