Вы здесь

Вывод таблицы на странице с формой

0

Здравствуйте! Подскажите пожалуйста, как вывести таблицу на странице с формой, но ниже формы.
Вывод происходит вот так:
$output = theme('table', $header, $rows);
print $output;

Версия Drupal: 
6.x
Категория: 
Form API
Вопрос задан 18.10.2015 - 23:05

В регион content что-ли или в саму форму?

Комментарий оставлен 18.10.2015 - 23:15

Ответы

0
function mymodule_menu(){
$items['mypage'] = array(
'page_callback' => 'my_page_callback',
'access callback' => true,
);
return $items;
}

function my_page_callback(){    
$output = drupal_get_form('my_form');
    $output = render($output);
    $output .= theme('table', $header, $rows);
    return $output;
}

Делайте обычный вызов меню

Ответ дан 18.10.2015 - 23:12

Сейчас у меня вот такой код:

function val_t_setting($form_state){
  $nodes = db_query("SELECT * FROM {og}");
  $options = array('none' => '<none>');
  while ($og = db_fetch_object($nodes)) {
  $options[] = $og->og_description;
  }
   $form['group'] = array(
   '#type' => 'select',
   '#title' => t('Программирование'),
   '#options' => $options,
   );
   $form['sub'] = array(
    '#type' => 'submit',
    '#value' => 'Загрузить', 
    '#id'    => 'find_user',
    '#validate' => array('form_new_name'),

  );

if (isset($form_state['storage']['sub'])) {

$header = array('Студент','Баллы');
  $students = array();
  $rows = array();
  // достаем id выбранной группы
  $groups  = $form['group']['#options'][$form_state['values']['group']];
  $group_nid = db_result(db_query("SELECT nid FROM {og} WHERE og_description ='%s'", $groups));
  // достаем список студентов
  $users = db_query('SELECT * FROM {users} u INNER JOIN {og_uid} o ON u.uid = o.uid WHERE u.status = 1 AND o.nid = %d ORDER BY u.name', $group_nid);
  while ($u = db_fetch_object($users)) {
    $students[$u->uid] = $u;
  }
  if (empty($students)) {
    drupal_set_message('В группе нет студентов.');
  }
  foreach ($students as $s => $student) {
    // В первой колонке выводим имя студента.
    $row = array($student->name);
    $rows[] = $row;

  }
   $output = theme('table', $header, $rows);
   print $output;
};
 return $form;

} 
Комментарий оставлен 18.10.2015 - 23:22

моя функция val_t_setting является аргументов функции drupal_get_form

Комментарий оставлен 18.10.2015 - 23:31

сделала, как описано выше, результат тот же. посмотрите пожалуйста мой код. может, что-то не так?

Комментарий оставлен 18.10.2015 - 23:38

Дак куда аргументы конструктора-формы то потеряла (как drupal_get_form поймёт, что это форма)?

function val_t_setting($form, &$form_state){
  ...
}

Это во-первых.
А во-вторых: если необходимо вывести таблицу в конструкторе-форме, то для этого используеться соответствующее поле: https://api.drupal.org/api/drupal/developer!topics!forms_api_reference.h...

Комментарий оставлен 19.10.2015 - 02:24

Покажите код, который выводит форму. То есть сам вызов как происходит.

Комментарий оставлен 20.10.2015 - 14:53

Вызов происходит здесь:

$items['admin/ostd/val_t'] = array(
'title' => 'Подгруппа Тлюстена В.Ш.',
'position' => 'right',
'weight' => -5,
'page callback' => 'drupal_get_form',
'page arguments' => array('val_t_setting'),
'access arguments' => array('administer site configuration'),
'access callback' => true,
);

Комментарий оставлен 20.10.2015 - 20:48

Страницы