From tableselect másik formnak

makgab képe

Üdv!

Egy formon levő 'tableselect' adatokat szeretnék átküldeni egy másik formnak.
Pl.:

<?php
 
$form['select_item'] = array(
  '#type' => 'tableselect',
  // ...
  );
 
$form['submit'] = array(
  '#type' => 'submit',
  // ...
  );
 
?>

A fenti 'select_item'-ben kiválasztott elemeket szeretném másik formban feldolgozni:

<?php
// select_item feldolgozása...
$form['akarmi'] = array(
  // ...
  );
 
$form['submit'] = array(
  '#type' => 'submit',
  // ...
  );
 
?>

Hogyan lehetne ezt megoldani? Hogy tudnám átküldeni a második formnak az adatokat? Vagy ezt nem submittal kellene?

Drupal verzió: 
makgab képe

Az első form submit-jában csináltam egy drupal_goto()-t:

$select_item = array_filter( $form_state['values']['select_item'] );
drupal_goto('masodikform_url', array('query'=>array(
   'select_item'=> $select_item,
   )));

A második form-ban a $_GET-el elérem:

function masodik_form(){
  $select_item = $_GET['select_item']; 
  // ...
}

Nem biztos hogy szép, de működik.
Van esetleg más megoldás?

0
0
peri22 képe

rengeteg példát találsz multistep formra:
http://bryanjones.us/custom-multi-step-forms-drupal-7
http://davidsonj.com/blog/how-create-multi-step-form-drupal-7

az examples modulban is van rá példa:
https://drupal.org/project/examples

ha viszont így csinálod akkot ne a drupal_goto-t használd, hanem ezt:

  1. $query = array(
  2. 'param1' => 'value1',
  3. 'param2' => 'value2',
  4. );
  5. $form_state['redirect'] = array(
  6. 'url',
  7. array('query' => $query),
  8. );

valamint:
https://api.drupal.org/api/drupal/includes!common.inc/function/drupal_ge...

0
0