Node beküldés után átirányítás

eMeLA képe

Node beküldés után nem a node oldalára, hanem egy másik oldalra szeretném irányítani a látogatót.

Eddig próbálkoztam a hook_form_alter(), hook_form_submit(), és még egy renitens függvényhívással is a tartalomtípusom_node_form_submit() -al (elvben ha lenne hook_submit() akkor kellene ennek működni mert a saját modulom neve nem a "tartalomtípusom_node", mégis lefuttatja a rendszer)

A fenti függvényhívásokban próbáltam elhelyezni, de egyiknél sem működött: $form_state['redirect'] = 'node/add';

Valaki tudja, hogy kell ezt csinálni?

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

Annyi kiegészítés, hogy a form inspect modullal megnéztem, amikor megjelenik a form a form_state-ban benne van a redirect....

0
0

...mit tudok: http://web.termuves.hu

knorbi képe

Ha modulban is gondolkodsz, akkor a rules modullal ez könnyedén elintézhető. Én ezt így oldottam meg.

0
0

Kiss Norbert
adatmentespecs.hu

aruna képe

éppen a te kérdésedre, csak pár évvel korábban. :)

A javaslatok közt ott a trigger modul is, ami a core része, így nem kell a rules csak e miatt.

Ha kódból csinálod akkor így megy a submit függvényben:

function formodAzonositoja_submit($form, &$form_state) {
  $form_state['redirect'] = 'masik-oldal-aliasa';
}

Ez d7 alatt működik, ami lényeges, ha $form_state változó előtt nincs ott a '&', akkor nem működik, lehet hogy nálad is ez a hiba.

0
0
eMeLA képe

A Rules és Trigger nekem nem jó, mert saját modulból szeretném. A rules a ?destination=...-t használja (gonolom a Tigger is). Nem túl tetsző dolog egy ilyen cím www.valami.hu/node/add/page?destination=node/add/page (bár tegyük hozzá működik).

Ennél elegánsabb lenne a $form_state['redirect'], ha működne nálam...

--------------------------------------------

Az egyszerűség kedvéért ezt a függvényhívást próbáltam ki:

function page_node_form_submit($form, &$form_state) {  
  $form_state['redirect'] = 'node/add';
}

És ugyebár ezzel az oldallal teszteltem: node/add/page

Nálam nem működött!?

0
0

...mit tudok: http://web.termuves.hu

realdream képe

A node_type_form_submit erre nem jó, mert a tartalom típusra működik, nem pedig a tartalomra:
http://api.drupal.org/api/drupal/modules!node!content_types.inc/function...

Egyik lehetséges megoldás:

Hozzáadunk egy submit handlert:

function SAJATMODUL_form_alter(&$form, $form_state, $form_id) {
   if ('....') {
      $form['actions']['submit']['#submit'][] ='SAJATMODUL_egyedi_submit';
   }
}
 
function SAJATMODUL_egyedi_submit($form, &$form_state) {
   $form_state['redirect'] = 'node/add'; 
}
5
0

-------------------------------
http://www.realdream.hu

eMeLA képe

Igen ez működik. Köszönöm.

0
0

...mit tudok: http://web.termuves.hu