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

Modul-Configuration

Eingetragen von AndyLicht (260)
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

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank

Eingetragen von AndyLicht (260)
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);
}


?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 2 Stunden
  • Hey danke
    vor 2 Wochen 20 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 21 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 32 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