Я уже рассказывал ранее как программно можно обновить данные в сущности config_pages. А здесь покажу как программно можно выполнить удаление полей и групп (созданных модулем field_group).
Config Pages использует Field API, поэтому удаление полей и групп не содержит каких либо трудностей или особенностей.
В функцию field_info_instance требуется передать тип сущности «config_pages» и имя пакета (bundle) — машинного имени назначенного
вами странице при её создании.
1 2 3 4 5 6 7 8 9 |
$entity_type = 'config_pages'; $bundle = 'YourConfigPageName'; // список полей $fields_to_delete = array('field_fieldname1', 'field_fieldname2', ...); // удаление полей foreach ($fields_to_delete as $field_name) { $field = field_info_instance($entity_type, $field_name, $bundle); field_delete_instance($field); } |
При удалении группы потребуется указать её машинное имя.
1 2 3 4 5 6 |
$group_name = 'YourFieldGroupName'; // удаление группы if ($group = field_group_load_field_group($group_name, $entity_type, $bundle, 'form')) { ctools_include('export'); field_group_group_export_delete($group, FALSE); } |