In _field_info_prepare_extra_fields()
den zusätzlichen Feldern sind diese standardmäßig auf sichtbar gesetzt, aber die zusätzlichen Feldeinstellungen werden in der Variablen field_bundle_settings gespeichert, die Sie hook_install()
wie folgt ändern können :
$entity_type = 'node';
$bundle = 'article';
$field_name = 'my_extra_field';
$view_mode = 'teaser';
$field_bundle_setting = variable_get('field_bundle_settings', array());
$field_bundle_setting[$entity_type][$bundle]['extra_fields']['display'][$field_name][$view_mode]['visible'] = FALSE;
variable_set('field_bundle_settings', $field_bundle_setting);
_field_extra_fields_pre_render () , der von field_attach_form () und field_attach_view () verwendete Pre-Render-Rückruf , enthält den folgenden Code:
Die Umsetzung hook_field_extra_fields_display_alter () , können Sie die Sichtbarkeit Einstellung ändern, aber das würde das Feld nicht sichtbar die ganze Zeit das Formular angezeigt wird machen. Wenn Sie das Feld beim ersten Laden des Formulars nicht anzeigen möchten und es beispielsweise anzeigen möchten, wenn ein anderes Formularfeld ausgewählt oder sein Wert geändert wird, müssen Sie JavaScript-Code verwenden.
quelle
<hidden>
zuerst.hook_field_extra_fields()
. Sie können jedoch das Formularfeld oder den vom Feld verwendeten Formatierer ändern.Es gibt einen Patch, um diese Fähigkeit dem Drupal-Kern hinzuzufügen.
Wenn Sie dies sehen möchten, überprüfen Sie es bitte und geben Sie Feedback.
http://drupal.org/node/1256368#comment-7201552
quelle
Im Installations-Hook Ihres Moduls können Sie eine ähnliche Funktion aufrufen, die Ihre zusätzlichen Felder standardmäßig in großen Mengen ausblendet.
quelle
So viel einfacheres Beispiel. Für Drupal 7 Erstellen Sie example_module.install im Verzeichnis example_module
Dokumentation für hook_install https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_install/7
Fügen Sie in Ihrer Datei example_module.module hinzu
Dokumentation für hook_field_extra_fields https://api.drupal.org/api/drupal/modules%21field%21field.api.php/function/hook_field_extra_fields/7
quelle