modul einstellung beim deinstallieren entfernen / hook_form select [gelöst]
am 15.05.2014 - 12:48 Uhr in
Hallo Leute,
ich bin neu bei Drupal7. Soll für unseren verein ein Modul bauen.
Soweit läuft mein Modul auch, jetzt habe ich ein paar Kleinigkeiten die ich nicht lösen kann oder wo ich keine Lösung finde.
1. Wenn ich mein Modul Deaktiviere und danach deinstalliere und ich es danach neu installiere sind alle Einstellungen von meinem Modul so wie ich sie eingestellt habe.
Wie kann bekomme ich es hin das beim deinstallieren alle meine Einstellungen die meinem Modul gehören gelöscht werden?
2. Wie bekomme ich einen Butten hin dass ich die Einstellungen meines Moduls auf Default stellen kann (reset).
3. Wie kann ich ein Eingabe Feld aktivieren wenn ich einen Bestimmten select aktiviere.
Ich habe in einer select liste den Punkt Benutzer, wenn dieser ausgewählt wird soll ein Eingabe Feld aktiviert werden in dem ich einen frei wählbaren wert eingeben kann?
4. Hat Drupal eine Funktion die meine Eingabe Felder prüft ob der Eintrag zulässig ist,
z. B. ob es eine zahl ist, oder ist es wirklich eine email? Oder muss ich sowas mit PHP selber schreiben?
Hoffe ihr könnt mir folgen, bin noch nicht ganz in dem Thema.
Quelltext zu 3.)
$beitraege = array(
'0' => t('auto'),
'1' => t('1'),
'2' => t('2'),
'3' => t('3'),
'4' => t('5'),
'5' => t('10'),
'6' => t('benutzer'),
);
$form['block_BKSEARCH_moderanking']['block_BKSEARCH_beitraege'] = array(
'#type' => 'select',
'#title' => 'Mindestens Anzahl Beiträge nebeneinander:',
'#default_value' => variable_get('block_BKSEARCH_beitraege'),
'#description' => t(''),
'#options' => $beitraege,
);
$form['block_BKSEARCH_moderanking']['block_BKSEARCH_acols'] = array(
'#type' => 'textfield',
'#title' => '',
'#default_value' => variable_get('block_BKSEARCH_acols'),
'#description' => t('Alternative Anzahl an Beiträgen nebeneinander:'),
'#required' => FALSE,
);
- Anmelden oder Registrieren um Kommentare zu schreiben
Moin, zu 1) Wahrscheinlich
am 15.05.2014 - 15:04 Uhr
Moin,
zu 1) Wahrscheinlich sind die Einstellungen noch im Cache. Du könntest innerhalb von hook_unistall() die Funktion cache_clear_all() ausführen.
zu 2) Weiß ich jetzt auf Anhieb auch nicht
zu 3) Mittels form API states Attribute:
<?php
$form['block_BKSEARCH_moderanking']['block_BKSEARCH_beitraege'] = array(
'#type' => 'select',
'#title' => 'Mindestens Anzahl Beiträge nebeneinander:',
'#default_value' => variable_get('block_BKSEARCH_beitraege'),
'#description' => t(''),
'#options' => $beitraege,
);
$form['block_BKSEARCH_moderanking']['block_BKSEARCH_acols'] = array(
'#type' => 'textfield',
'#title' => '',
'#default_value' => variable_get('block_BKSEARCH_acols'),
'#description' => t('Alternative Anzahl an Beiträgen nebeneinander:'),
'#required' => FALSE,
'#states' => array(
'visible' => array(
':input[name="block_BKSEARCH_beitraege"]' => array('value' => '6'), // Den exakten Wert des name- Attributes siehst du in Firebug
),
)
);
?>
zu 4) Gibt diverse Validierungsfunktionen in Drupal. Z.Bsp.: hook_field_validation(). Ein Modul gibts dafür auch: https://drupal.org/project/field_validation
@ micneu: äh sorry, Herzlich
am 15.05.2014 - 15:21 Uhr
@ micneu: äh sorry, Herzlich Willkommen erst mal ;)
danke, soweit hat alles
am 16.05.2014 - 09:40 Uhr
danke, soweit hat alles geklappt....