Как добавить настройки к блоку, созданному в стороннем модуле
Чтобы расширить блок настройками, нужно воспользоваться хуком hook_block_configure(), но это работает только для блоков, определённых в этом же модуле. Если же встаёт задача расширить настройками блок из стороннего модуля, то на помощь приходит hook_form_FORM_ID_alter().
Ниже, пример кода для добавления текстового поля к настройкам блока, созданному из Views:
/**
* Implements hook_form_FORM_ID_alter()
*/
function mymodule_form_block_admin_configure_alter(&$form) {
if ($form['module']['#value'] == 'views' && $form['delta']['#value'] == 'viewname-block_1') {
$form['settings']['nids'] = array(
'#type' => 'textfield',
'#title' => 'Идетификаторы материалов',
'#description' => 'Nid-ы материалов через запятую',
'#default_value' => variable_get('mymodule_nids'),
);
$form['#submit'][] = 'mymodule_form_block_admin_configure_submit';
}
}
/**
* Custom submit callback for block_admin_configure form
*/
function mymodule_form_block_admin_configure_submit($form, $form_state) {
variable_set('mymodule_nids', $form_state['values']['nids']);
}
Написанное актуально для
Drupal 7
Комментарии:
Нету комментариев для вывода...