Dobry den,
mam vlastni modul, ktery obsahuje - seznam(tabulku) dat, ktery lze filtrovat, editacni formular(odkaz na formular je ze seznamu) a dalsi. Chci se zeptat, jak udelat aby formular byl jako modalni okno zobrazene pomoci jQuery UI.
Diky Martin
takze staci formular obalit a pouze pridat
$( function() {
$( "#dialog" ).dialog();
}
?
Ano. Případně prostě změňte selektor z #dialog na idčko svého formuláře.
Omlouvam se za svoji nahloupost, ale s jQuery nejsem velky kamarad, spise velka lama.
Takto generuji stranku:
$header = array(
'den' => array('data' => t('Den'), 'field' => 'den'),
'hodiny' => array('data' => t('Hodiny'), 'field' => 'delka'),
'skupina' => array('data' => t('Skupina'), 'field' => 'skupina'),
'cinnost' => array('data' => t('Činnost'), 'field' => 'cinnost'),
'control' => array('data' => t('Operace')),
);
$query = db_select('vykaz_akce', 'v')
->extend('TableSort');
$query->fields('v');
//drupal_set_message("YEAR(den)='".date_format(date_create($mesic,"Y"))."' AND uid='".$uzivatel."' AND MONTH(den)='".date_format(date_create($mesic,"m"))."'");
$query->where("YEAR(den)='".date_format(date_create($mesic),"Y")."' AND uid='".$uzivatel."' AND MONTH(den)='".date_format(date_create($mesic),"m")."'");
$query->orderByHeader($header);
$result = $query->execute();
$rows = array();
foreach ($result as $record){
$row = array();
$row['den'] = date_format(date_create($record->den), 'j. n. Y');
$row['hodiny'] = $record->delka;
$row['skupina'] = $record->skupina;
$row['cinnost'] = $record->cinnost;
$row['control'] = l('Editovat','vykaz/akce_edit/'.$record->uid.'/'.$record->akceid,array('title'=>'Editace')) . ', '. l('Smazat','vykaz/akce_del/'.$record->uid.'/'.$record->akceid,array('title'=>'smazat'));
$rows[] = $row;
}
return theme('table', array('header' => $header, 'rows' => $rows, 'empty' =>t('žádná data nebyla nalezana'), 'attributes' => array('width' => '75%')));
}
a tako generovany formular na ceste vykaz/akce_del:
function vykaz_akce_del_form($form, &$form_state, $uid = 0, $akceid=0) {
if ($akceid != 0) {
$query = 'SELECT * FROM {vykaz_akce} WHERE akceid = '. $akceid;
$result = db_query($query);
$record = $result->fetchObject();
if ($record->uid != $uid) {
drupal_set_message('vnitřní chyba záznamu');
$form_state['redirect'] = 'vykaz/akce';
drupal_redirect_form($form_state);
}
} else {
drupal_set_message('Chyba programu');
$form_state['redirect'] = 'vykaz/akce';
drupal_redirect_form($form_state);
}
$form['uid'] = array(
'#type' => 'hidden',
'#value' => $uid,
);
$form['akceid'] = array(
'#type' => 'hidden',
'#value' => $akceid,
);
$form['#attributes']['id'][] = 'smaz';
return confirm_form(
$form,
t('Opravdu chcete smazat tuto akci?'),
'vykaz/akce',
t('Tuto akci nelze vrátit.'),
t('Smazat'),
t('Zrušit')
);
return $form;
}
Muzete mi poradit jak to spojit?
No, jQuery je JavaScript, toto, co píšete, je PHP... Fakt je asi nad možnosti komentáře vysvětlit naprosté základy jQuery. Jak jsem napsal v předchozím komentáři, jen si upravte v tom příkladu selektor.
Hm, vyrenderovat na stránce a pak jej poslat do toho okna, ne? Viz příklad https://jqueryui.com/dialog/