Embeded View wird nicht angezeigt
am 26.07.2012 - 14:42 Uhr in
Hallo zusammen,
aktuell bastel ich weiter an meinem Intranet. Es geht mal wieder um Terminerfassungen. Ich arbeite hier mit einigen Ajax-Geschichten.
Als erstes wird das Lieferdatum gewählt. Dann wird aus einem Dropdown-Feld die PLZ gewählt....daraufhin wird der etnsprechende Stadteil + LKW ermittelt (SQL-Abfrage).Diese beiden Daten werden dann in extra Textfelder dargestellt. Ich möchte aber gleichzeitig aus der Kombination Datum+LKW ein
embeded_view anzeigen, wo alle Termine für diesen Tag aufgelistet werden. Ich habe es hinbekommen dies anzeigen zu lassen wenn als nächstes
die Lieferzeit eingegeben wird, möchte es aber vorher schon haben. Kann eigentlich mal wieder nur ne Kleinigkeit sein.
Hier mal ein wenig Code....als erstes Die PLZ-Abfrage
$form['plz'] = array (
'#type' => 'select',
'#title' => 'Ort ',
'#options' => $touren,
'#required' => TRUE,
'#ajax' => array(
'callback' => 'ltermverwaltung_my_form_callback',
'wrapper' => 'replace_tour_div',
),
);
$form['tour'] = array (
'#type' => 'textfield',
'#title' => 'Tour',
'#disabled' => TRUE,
'#size' => 5,
'#prefix' => '<div id="replace_tour_div">',
'#suffix' => '</div>',
);
$form['ort'] = array (
'#type' => 'textfield',
'#title' => 'Ort',
'#default_value' => '',
'#disabled' => TRUE,
'#size' => 20,
'#prefix' => '<div id="replace_terminort_div">',
'#suffix' => '</div>',
);
if (!empty($form_state['values']['plz'])) {
$result = db_query('Select tour,ort from tbl_plz where plz='.$form_state['values']['plz']);
$tour = array();
foreach ($result as $row) {
$tour['tour'] = $row->tour;
$tour['ort'] = $row->ort;
}
$form['tour']['#value'] = $tour['tour'];
$form['ort']['#value'] = $tour['ort'];
$form['uebersicht']['#type'] = 'item';
}
Hier mal das Feld für das embeded_view
if (! isset ($form_state['values'])) $form_state['values'] = array();
if (! isset ($form_state['values']['datum'])) $form_state['values']['datum'] = '01.01.2012';
if (! isset ($form_state['values']['tour'])) $form_state['values']['tour'] = '000';
$form['uebersicht'] = array(
'#type' => 'hidden',
'#title' => 'Termine',
'#markup' => views_embed_view('termine', 'embed_1', $form_state['values']['datum'], $form_state['values']['tour']),
'#prefix' => '<div id="replace_terminanzeige_div">',
'#suffix' => '</div>',
);
Und die entsprechende function
function ltermverwaltung_my_form_callback($form, &$form_state) {
$commands = array();
$commands[] = ajax_command_replace("#replace_tour_div", render($form['tour']));
$commands[] = ajax_command_replace("#replace_terminort_div", render($form['ort']));
$commands[] = ajax_command_replace("#replace_terminanzeige_div", render($form['uebersicht']));
return array('#type' => 'ajax', '#commands' => $commands);
}
Ich hoffe jemand kann mir helfen!
Ati
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 2 Tagen 10 Stunden
vor 2 Tagen 18 Stunden
vor 2 Tagen 22 Stunden
vor 3 Tagen 4 Stunden
vor 6 Tagen 19 Stunden
vor 6 Tagen 21 Stunden
vor 1 Woche 11 Stunden
vor 2 Wochen 2 Tagen
vor 3 Wochen 4 Tagen
vor 4 Wochen 7 Stunden