Drupal: Как обойти все элементы формы

Пример отключения Wysiwyg редактора для всех полей типа text_format в форме создания/редактирования материала типа page:

/**
* Implements hook_form_FORM_ID_alter().
*/
function mymodule_form_page_node_form_alter(&$form) {
mymodule_disable_wysiwyg($form);
}
 
/**
* Disable wysiwyg in all fields
*/
function mymodule_disable_wysiwyg(&$form) {
foreach (element_children($form) as $element) {
if (isset($form[$element]['#type']) && $form[$element]['#type'] == 'text_format') {
$form[$element]['#wysiwyg'] = FALSE;
}
else {
mymodule_disable_wysiwyg($form[$element]);
}
}
}

Комментарии

Похожие записи: