Если вы увлеклись использованием данного Drupal модуля (под 7ку) настолько, что добавили в форму несколько полей типа tablefield, то заметите, что перемещение строк а-ля драг-n-дроп работает только для первого из полей.
Причина в том, что таблицы со строками, которые можно перетаскивать благодаря jQuery плагину tabledrag, имеют один и тот же DOM ID — #tablefield-editor. А плагин работает с каждой таблицей по уникальному идентификатору.
Чтобы заставить функционировать tabledrag, выполните два простых шага:
- поменяйте ID у таблиц поля tablefield на уникальный (hook_form_alter);
 - подцепите обработку tabledrag для новых ID (#aftrer_build).
 
| 
					 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  | 
						function MODULENAME_form_FORMID_alter(&$form, &$form_state) {   // поменяем оригинальный ID таблицы   $form['field_table1']['und'][0]['tablefield']['tabledata']['a_break'] = array(     '#markup' => '<table id="tablefield-table1">'   );   $form['field_table1']['und'][0]['tablefield']['tabledata']['a_break'] = array(     '#markup' => '<table id="tablefield-table2">'   );  // подключим пост-обработку   $form['#after_build'][] = '_MODULE_FORMID_afterbuild';  } function _MODULE_FORMID_afterbuild($form, &$form_state) {   // цепляем обработку tabledrag   drupal_add_tabledrag('tablefield-table1', 'order', 'sibling', 'tablefield-weight');   drupal_add_tabledrag('tablefield-table2', 'order', 'sibling', 'tablefield-weight');   // не забываем вернуть форму :)   return $form; }  | 
					
