Ahoj netušíte jak by šlo předávat hodnotu proměnné resp. v poli formuláře poté co je odeslán přes ajax a znovu rebuildovaný přes drupal_rebuild_form a pak odeslaný přes return? Přes rebuild se totiž vytvoří zcela nový a prázdný formulář a v rámci tohoto rebuildu se volají i funkce jako hook_form_alter. Potřebuji totiž zachovávat jednu hodnotu mezi formuláři a to je $form['#res_ajax'] a tu také protlačit i do hook_form_alter behem rebuildu.
Důvod mého snažení je, že chci tuto proměnou využít v hook_form_alter k úpravě hodnot v podmínce právě během rebuildu:
hook_form_alter(&$form, &$form_state, $form_id) {
  if (isset($form['#res_ajax'])) {
    // udělej něco...
  }
}
viz. callback - část kodu pro ajax kde je použitý rebuild:
    $node = $form_state['node'];
    if (!empty($node->nid)) {
      $id = $form['#id'];
      $new_node = (object) array(
        'uid' => $node->uid,
        'name' => $node->name,
        'type' => $node->type,
        'language' => $node->language,
        'ajax_form' => 1,
        'delta' => $node->delta,
        'form_id' => $id,
      );
      $new_form_state = array();
      $new_form_state['build_info']['args'] = array($new_node);
      $new_form_state['values'] = array();
      $new_form_state['method'] = $form_state['method'];
      form_load_include($new_form_state, 'inc', 'node', 'node.pages');
      dsm($form) ---> zde je proměnná ještě k dispozici
      $form = drupal_rebuild_form($node->type . '_node_form', $new_form_state);
      dsm($form) ---> zde už není proměnná k dispozici
      $form['#id'] = $id;
      return $form;
    }
Díky za pomoc

Tak jsem nakonec použil…
Tak jsem nakonec použil Session, tam dočasně uložim proměnnou :-)
Přidat komentář