Anzeige ein-/ausschalten bei mein Theme ausgrauen [gelöst]
am 20.01.2008 - 14:37 Uhr in
Hi,
ich würde gerne für mein Theme bei Anzeige ein-/ausschalten bei mein Theme ausgrauen!
zb hat mein Logo kein Platz für das Logo, aus der page.tpl ist es draußen! nur würde ich gerne das unter admin/build/themes/settings/bitter_lemon dann bei Anzeige ein-/ausschalten die Option Logo ausgegraut ist bzw das man kein Häkchen setzen kann sowie die Logo-Einstellungen verschwinden lassen!
Ich hab zwar schon was gefunden zb http://api.drupal.org/api/function/theme_get_settings/5 und http://api.drupal.org/api/function/system_theme_settings/5!
Aber ich hab kein plan was die wollen bzw wo ich was ändern muss!Oder ob es überhaupt das richtige ist! :D
Ich hoffe doch irgendwer kennt sich damit aus und kann mir mal helfen!
mfg
tobiB
- Anmelden oder Registrieren um Kommentare zu schreiben
Re: Anzeige ein-/ausschalten bei mein Theme ausgrauen
am 21.01.2008 - 00:40 Uhr
Da wird ein Formular angezeigt. Formulare kannst du manipulieren mit
hook_form_alter
.--
Nee Modul bringen nix, da
am 21.01.2008 - 16:03 Uhr
Nee Modul bringen nix, da der code ja in template.php, template.inc.php oder theme-settings.php rein muss!
Und bei hock_form_alter kann ich auch nur was hinzufügen sowie ich es verstanden habe!
Und ich will halt was weg nehmen zb das fieldset für das Logo-Uploadformular,checkboxen für die Suche aber nur für das eine Theme(bitter_lemon) nicht Sitewide!
Da sonst der Benutzer dieses Theme verwirrt ist, wenn er ein Logo uploaden will, aber keins erscheint!
Ich hab jetzt einfach mal was zusammen geschustert
function bitter_lemon_theme_settings($key = 'theme_settings') {
$defaults = array(
'mission' => '',
'default_logo' => 0,
'logo_path' => '',
'default_favicon' => 1,
'favicon_path' => '',
'toggle_logo' => 0,
'toggle_favicon' => 1,
'toggle_name' => 1,
'toggle_search' => 0,
'toggle_slogan' => 0,
'toggle_mission' => 0,
'toggle_node_user_picture' => 0,
'toggle_comment_user_picture' => 0,
);
$disabled = array();
if (!variable_get('search', 0)) {
$disabled['toggle_search'] = TRUE;
}
$disabled = array();
if (!variable_get('logo', 0)) {
$disabled['toggle_logo'] = TRUE;
}
$variables = array_merge($defaults, $key);
return bitter_lemon_settings_form($defaults);
}
rum meckern tut drupal nicht , aber es paasiert auch nix!
Ich muss also irgendwie aus den $defaults die Keys und werte löschen, so das beim aufruf von bitter_lemon themeeinstellung nur das da steht was man auch machen kann!
----------------------------------------
http://www.tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
Re: Nee Modul bringen nix, da
am 21.01.2008 - 18:28 Uhr
Nee Modul bringen nix, da der code ja in template.php, template.inc.php oder theme-settings.php rein muss!
Nee, der Code muss nicht in template.php, template.inc.php oder theme-settings.php rein. Der kann auch in ein Modul.
Und bei hock_form_alter kann ich auch nur was hinzufügen sowie ich es verstanden habe!
Man kann mittels
hook_form_alter
so ziemlich alles mit einem Formular machen, was man will. Beispiel:<?php
function mymodule_form_alter($form_id, &$form) {
if ($form_id == 'system_theme_settings') {
if ($form['var']['#value'] == 'theme_bitter_lemon_settings') {
$form['theme_settings']['toggle_logo']['#default_value'] = FALSE;
$form['theme_settings']['toggle_logo']['#disabled'] = TRUE;
unset($form['logo']);
}
}
}
?>
Falls du
hook_form_alter
nicht verwenden willst, dann kannst du folgendes intheme-settings.php
eintragen:<?php
unset($form['logo']);
$form['theme_settings']['toggle_logo']['#disabled'] = TRUE;
$form['theme_settings']['toggle_logo']['#default_value'] = FALSE;
?>
Das funktioniert aber erst ab Drupal 6.
--
Es funktioniert, auch bei
am 21.01.2008 - 20:46 Uhr
Es funktioniert, auch bei drupal 5! geil! obwohl kein return! hab das zuerst bei den yaml form in den themesettings function phptemplate_settings($saved_settings) usw vor dem return §form usw gesetzt nix paasiert! dann danach und dit geht, dit lüfft! ick hab auch schon so angefangen, bis überlegt habe vllt macht der nur den haken raus usw! aber egal dit geht! juhuuuuu! :D
----------------------------------------
http://www.tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
Re: Es funktioniert, auch bei
am 21.01.2008 - 21:00 Uhr
Das wundert mich jetzt ein wenig. Bei mir funktioniert es erst ab Drpal 6. Oder hast du das Modul Theme Settings API aktiviert?
--
Ja hab ich! sonst könnte
am 21.01.2008 - 21:06 Uhr
Ja hab ich! sonst könnte doch hass von yaml für drupal da keine formulare rein machen!
----------------------------------------
http://www.tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.