Ich versuche, den Einstellungen meines Themas ein "Datei" -Typfeld hinzuzufügen. Ich verwende kein Basisthema und arbeite in Drupal 7. Das Feld erscheint an der richtigen Stelle und ich kann eine Datei auswählen, aber wenn ich die Einstellungen speichere, wird die Datei nicht in meinem Dateiordner angezeigt und ausgeführt theme_get_settings für die Einstellung gibt eine leere Zeichenfolge zurück. Was mache ich falsch?Hinzufügen eines Dateityp-Formularfelds zu Drupal-Einstellungen für das Systemthema
Hier ist mein Feldcode:
// footer settings
$form['footer_settings'] = array(
'#type' => 'fieldset',
'#title' => t('Footer Settings'),
'#collapsible' => TRUE,
'#collapsed' => FALSE,
);
$form['footer_settings']['footer_logo_path'] = array(
'#type' => 'textfield',
'#title' => t('Footer Logo Path'),
'#default_value' => theme_get_setting('footer_logo', ''),
);
$form['footer_settings']['footer_logo'] = array(
'#type' => 'file',
'#title' => t('Footer Logo'),
'#description' => t('Upload a new logo image to be displayed in the footer of the website here.'),
'#upload_location' => file_default_scheme() . '://',
);
Danke für die Antwort, Tytoo! Ich habe neue benutzerdefinierte Validierungs- und Übergabefunktionen hinzugefügt und lasse sie laufen, aber sie scheinen zweimal ausgeführt zu werden. Wie kann ich das verhindern? – Colin
Nur zur Verdeutlichung, meine benutzerdefinierte Übermittlungs-/Validierungsfunktion wird zuerst ausgeführt, gefolgt von der Standardeinstellung. – Colin
@Colin, ich weiß nicht, warum Ihre Formularvalidierungs- und Übermittlungsmethoden zweimal ausgeführt werden. Wenn Sie jedoch wie im Beispiel vorgehen, muss Ihre Datei 'footer_logo' transformiert werden und der Pfad der hochgeladenen Datei muss in den Wert 'footer_logo_path' eingegeben werden. – TytooF