drupal_add_tabledrag nem akar működni

Keveqiah képe

Estét!

A drupal_add_tabledrag függvénnyel és használatával kapcsolatban kérnék segítséget, vagy esetleg egy minimális példát. Bár mondjuk példát találtam sokat, de egyik sem akar működni. Nem táblázatosan írja ki az adatokat, hanem csak divekbe szedve.

A példa, amivel most próbálkoztam.

function valami_list_form($form_state)
{
  $items = array(
    array(1, 'Item 1', -3),
    array(2, 'Item 2', 0),
    array(3, 'Item 3', 2),
    array(4, 'Item 4', 3),
    array(5, 'Item 5', 4),
    array(6, 'Item 6', 6),
  );
 
  $form = array();
 
  $form['my_items'] = array();
  $form['my_items']['#tree'] = true;
 
  foreach ($items AS $values) {
 
    $id = $values[0];
    $title = $values[1];
    $weight = $values[2];
 
    $form['my_items'][$id] = array(
      'title' => array(
        '#type' => 'markup',
        '#value' => $title,
      ),
      'weight' => array(
        '#type' => 'weight',
        '#delta' => count($data),
        '#default_value' => $weight,
      ),
      'id' => array(
        '#type' => 'hidden',
        '#value' => $id,
      ),
    );
  }
 
  $form['submit'] = array(
      '#type' => 'submit',
      '#value' => t('Save'),
 
  );
 
  return $form;
 
}
/**
 * Implementation of hook_theme().
 */
function client_manager_theme($existing, $type, $theme, $path) {
  return array(
      'valami_list_form' => array(
        'arguments' => array('form' => null),
      ),
  );
}

és így próbálnám meghívni..

	$items['ugyfelkapu/users/form'] = array(
		'title' => 'Adatbekérés',
		'page callback' => '_form_management',
		'access arguments' => array('access administration page'),
		'type' => MENU_LOCAL_TASK,
		'file' => 'admin/admin_form.inc',
		'weight' => 10,
	);

function _form_management()
{
  $output = drupal_get_form('valami_list_form');
  return $output;
}
Drupal verzió: 
Keveqiah képe

function theme_valami_list_form($form){
 
  $header = array('Title', 'Weight');
  foreach (element_children($form['my_items']) as $key) {
 
    $element = &$form['my_items'][$key];
    $element['weight']['#attributes']['class'] = 'weight-group';
 
    $row = array();
    $row[] = drupal_render($element['title']);
    $row[] = drupal_render($element['weight']) .
             drupal_render($element['id']);
 
    //Add a draggable class to every table row (<tr>)
    $rows[] = array('data' => $row, 'class' => 'draggable');
  }
  drupal_add_tabledrag('my_draggable_table', 'order', 'sibling', 'weight-group');
  $output = theme('table', $header, $rows, array('id' => 'my-draggable-table'));
 
  $output .= drupal_render($form);
 
  return $output;
}
0
0
Keveqiah képe

Nem tudom, hogy ilyen nehezet kérdezte e, vagy csak a "Fórum" nem aktív? :)

Mindenesetre találtam egy működőképes példa modult, amit meg is osztottam gyorsan.
draggable_demo-6.x-1.0-alpha1

0
0