Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Modul-Configuration

Eingetragen von AndyLicht (246)
am 28.02.2015 - 17:02 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x oder neuer

Hallo Forum,
ich habe meinem Drupal-Modul eine Konfigurationsseite spendiert. Diese funktioniert auch wie sie soll, dennoch hätte ich gerne zwei Optimierungen.
Ich möchte gerne das es ein Elternelement z.B. "Modelle" gibt und auch direkt auf der Konfigurationsseite angezeigt wird. Mein Ziel ist es auf der Konfigurierungsseite einen Bereich/Block ähnlich wie für System oder Development einzurichten, in dem ich dann auch ähnliche Module unterbringen kann.
Folgendes habe ich bereits realisiert:

<?php

function sim_menu()
{
   
$items = array();
   
$items['admin/config/modelle/sim'] = array(
       
'title' => 'Sim',
       
'description' => 'Modulkonfiguration',
       
'page callback' => 'drupal_get_form',
       
'page arguments' => array('sim_configure'),
       
'access arguments' => array('administer sim settings'),
       
'type' => MENU_NORMAL_ITEM,
    );
    return
$items;
}


//Elemente der Administratoroberfläche
function sim_configure()
{
   
$form = array();
   
$form['zahl'] = array(
       
'#type' => 'textfield',
       
'#title' => t('Startzahl'),
       
'#default_value' => variable_get('sim_startzahl', '100000'),
       
'#size' => 6,
       
'#maxlength' => 6,
       
'#description' => t("Startzahl"),
       
'#required' => TRUE,
    );
    return
system_settings_form($form);
}

?>

Mein zweiter Wunsch ist, dass ich das Formular noch in "tabs" untergliedere.

mit freundlichem Gruß und besten Dank für eure Hilfe
Andy

‹ Bei Modulinstallation db update nach hook_schema ausführen Modul-Configuration ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Admin Block

Eingetragen von stBorchert (6003)
am 01.03.2015 - 14:29 Uhr

Moin.
Schau Dir mal [api:system_menu:7] an, da sind ein paar schöne Beispiele für die System-Blöcke enthalten. Als page callback nimmst Du für das zusätzliche menu-item dann [api:system_admin_menu_block_page:7].
Für die Tabs schau Dir mal an, wie das bei "admin/appearance/list" und "admin/appearance/settings" gemacht wird.
Stichwort MENU_DEFAULT_LOCAL_TASK und MENU_LOCAL_TASK

hth,

 Stefan

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank

Eingetragen von AndyLicht (246)
am 08.03.2015 - 11:07 Uhr

Hi, vielen Dank, den ersten Part habe ich nach deiner Anleitung/Hinweisen geschafft (wenn auch noch mit einem oder zwei Bugs):

<?php

function sim_menu()
{
   
$items = array();
   
$items['admin/config/simulationsmodelle'] = array(
       
'title' => 'Simulationsmodelle',
       
'description' => 'Simulationsmodelle',
       
'position' => 'right',
       
'weight' => -10,
       
//'page callback' => 'system_admin_menu_block_page',
       
'access arguments' => array('access administration pages'),
    );
$items['admin/config/simulationsmodelle/sim1'] = array(
       
'title' => 'Modell 1',
       
'description' => 'Systemeinstellungen zum ersten Modell',
       
'page callback' => 'drupal_get_form',
       
'page arguments' => array('sim1_configure'),
       
'access arguments' => array('administer site configuration'),
       
'weight' => -10,
    );
    return
$items;
}


//Elemente der Administratoroberfläche
function sim1_configure()
{
   
$form = array();
   
$form['zahl'] = array(
       
'#type' => 'textfield',
       
'#title' => t('Startzahl'),
       
'#default_value' => variable_get('sim_startzahl', '100000'),
       
'#size' => 6,
       
'#maxlength' => 6,
       
'#description' => t("Startzahl"),
       
'#required' => TRUE,
    );
    return
system_settings_form($form);
}
?>

Jetzt gelingt es mir leider nicht in der Funktion sim1_configure eine Tab-Struktur aufzubauen, die Startzahl ist nur eine von vielen Parametern, die ich aber gerne sortiert aufrufen möchte. Ein weiterer "Bug" ist, wenn ich über das administration-Toolbar-Menü den Menü-Oberpunkt Simulation aufrufe, bekomme ich eine leere Seite.

Vielleicht kann mir nochmal jemand sagen, wonach ich schauen muss.
Vielen Dank und einen schönen Sonntag wünschend
Andy

hier meine Variante, die leider nicht funktioniert, um eine Tab-Struktur aufzubauen:

<?php


function sim_configure()
{
   
$tabs = array();
   
$tabs['admin/config/simulationsmodelle/sim1/p1'] = array(
       
'title' => t('Part 1'),
       
'description' => t('Settings for the first simulation-status'),
       
'page arguments' => array('sim_configure_p1'),
       
'type' => MENU_DEFAULT_LOCAL_TASK,
       
'weight' => 0,
    );
   
$tabs['admin/config/simulationsmodelle/sim1/p2'] = array(
       
'title' => t('Part 2'),
       
'description' => t('Settings for the second status'),
       
'page arguments' => array('sim_configure_p2'),
       
'type' => MENU_DEFAULT_LOCAL_TASK,
       
'weight' => 1,
    );
    return
system_settings_form($tabs);
}




//Elemente der Administratoroberfläche
function sim_configure_p1()
{
   
$form = array();
   
$form['zahl'] = array(
       
'#type' => 'textfield',
       
'#title' => t('Anzahl'),
       
'#default_value' => variable_get('sim_p1_anzahl', '100000'),
       
'#size' => 6,
       
'#maxlength' => 6,
       
'#description' => t("Ausgangswert"),
       
'#required' => TRUE,
    );
   
$form['schwelle'] = array(
       
'#type' => 'textfield',
       
'#title' => t('schwelle'),
       
'#default_value' => variable_get('sim_p1_schwelle', '1145'),
       
'#size' => 4,
       
'#maxlength' => 4,
       
'#description' => t("Schwelle ab P1 zu P2 werden kann"),
       
'#required' => TRUE,
    );
    return
system_settings_form($form);
}

function
sim_configure_p2()
{
   
$form = array();
   
$form['beginn'] = array(
       
'#type' => 'textfield',
       
'#title' => t('Summe, aber der die P1 beginnt'),
       
'#default_value' => variable_get('sim_p2_beginn', '130'),
       
'#size' => 6,
       
'#maxlength' => 6,
       
'#description' => t("Summe ab der der zweite Schritt eingeleitet wird"),
       
'#required' => TRUE,
    );
   
$form['ende'] = array(
       
'#type' => 'textfield',
       
'#title' => t('summe, P1  zu 100% beendet ist'),
       
'#default_value' => variable_get('sim_p2_ende', '190'),
       
'#size' => 6,
       
'#maxlength' => 6,
       
'#description' => t("Summe ab der der erste Schritt vollkommen beendet ist"),
       
'#required' => TRUE,
    );
    return
system_settings_form($form);
}


?>

Aller Anfang ist schwer...

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • [gelöst] Kennt sich jemand mit dem "Message"-Modul aus?
  • Projektplanung Skathand
  • CSV-Import mit eigenständigen u abfragbaren MySQL-Tabellen als Ergebnis - Content Import Modul
  • Bootstrap wird zweimal geladen
  • Fehlermeldung CAPTCHA Formular
  • Konto löschen, wie? (Drupalorg/Drupalcenter)
  • Download Feld beim Bearbeiten der Node, nicht bei der Benutzeranzeige
  • [gelöst] Updates Drupal 8 für meine Webseite
  • Falsches CSS wird geladen
  • Suche jemanden, der mir mit Drupal 7 / Adaptive Image Styles weiterhelfen kann
  • XML-Dateien oder MySQL-Feld: Ist Drupal das Richtige für Zeitungsprojekt?
  • Upgrade von D7 auf D8 viele Views
Weiter

Neue Kommentare

  • Habe es jetzt selbst
    vor 15 Stunden 15 Minuten
  • Hallo und Willkommen bei
    vor 16 Stunden 17 Minuten
  • Du erstellst einen passenden content type
    vor 2 Tagen 15 Stunden
  • Welches CAPTCHA Modul
    vor 3 Tagen 3 Stunden
  • vielleicht solltest du dann
    vor 3 Tagen 6 Stunden
  • Nein, das ist nicht
    vor 3 Tagen 20 Stunden
  • Ist das nicht möglich
    vor 3 Tagen 20 Stunden
  • Kritische Sicherheitslücken in Contrib-Modulen gibt es häufiger
    vor 4 Tagen 1 Stunde
  • Wenn ich in der styles.css
    vor 4 Tagen 10 Stunden
  • Hi.Ein anderer Punkt dürfte
    vor 4 Tagen 13 Stunden

Statistik

Beiträge im Forum: 243395
Registrierte User: 18528

Neue User:

  • AndrewCuh
  • VolodimiirMa
  • yarus

» Alle User anzeigen

User nach Punkten sortiert:
wla8769
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3879
ronald3785
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 5 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association