Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Anfängerfragen ›

[Gelöst] Multiple Forms

Eingetragen von N20 (34)
am 02.10.2010 - 12:55 Uhr in
  • Anfängerfragen
  • Drupal 6.x

Hallo,

ich versuche grade 2 Forms auf einer Seite darzustellen. Folgenden Ansatz verwende ich im Moment:

hook_menu():

<?php

function server_menu() {
 
$items = array();
 
$items['admin/server'] = array(
   
'title' => 'Server',
   
'description' => 'Server Dashboard',
   
'page callback' => 'server_dashboard',
   
'page arguments' => array('server_dashboard'),
   
'access arguments' => array('access server'),
   
'file' => 'server.dashboard.inc',
   
'type' => MENU_NORMAL_ITEM,
   );
 
$items['admin/server/settings'] = array(
   
'title' => 'Settings',
   
'description' => 'Control the way that the server Module operates.',
   
'page callback' => 'drupal_get_form',
   
'page arguments' => array('server_settings'),
   
'access arguments' => array('access server'),
   
'file' => 'server.admin.inc',
  );
 
$items['admin/server/settings/server'] = array(
   
'title' => 'Server',
   
'description' => 'Server settings',
   
'page callback' => 'drupal_get_form',
   
'page arguments' => array('server_settings_server_add', 'server_settings_server_edit'),
   
'access arguments' => array('access server'),
   
'file' => 'server.admin.inc',
  );
  return
$items;
}

?>

wie man an " 'page arguments' => array('server_settings_server_add', 'server_settings_server_edit')," sieht versuche ich da zwei forms aufzurufen. Momentan wird aber nur die erste dargestellt.

Die Forms bzw. server.admin.inc:

<?php

function server_settings_server_add($form_state) {
 
$form = array();
 
$form['server_settings_server_add'] = array(
   
'#type' => 'fieldset',
   
'#title' => t('Add Server'),
   
'#collapsible' => TRUE,
   
'#collapsed' => TRUE,
  );
$form['server_settings_server_add']['submit'] = array('#type' => 'submit', '#value' => t('Add'));
return
$form;
}

function
server_settings_server_edit($form_state1) {
 
$form1 = array();
 
$form1['server_settings_server_edit'] = array(
   
'#type' => 'fieldset',
   
'#title' => t('Edit Server'),
   
'#collapsible' => TRUE,
   
'#collapsed' => TRUE,
  );
$form1['server_settings_server_edit']['submit'] = array('#type' => 'submit', '#value' => t('Save'));
return
$form1;
}

?>

wie gesagt, Ziel soll es sein mehrere Forms auf einer Seite zu haben, ist mein Lösungsansatz Grundsätzlich falsch oder hat sich irgendwo ein Fehler eingeschlichen?

MfG, N20

‹ Forum als Menüpunkt einbinden [gelöst] cck helping ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Also ich würde mal behaupten,

Eingetragen von Exterior (2903)
am 02.10.2010 - 13:42 Uhr

Also ich würde mal behaupten, dass dein Weg falsch ist, denn du rufst als Callback die Funktion drupal_get_form auf und übergibst an diese Funktion zwei Argumente. Der Funktionsaufruf sieht dann quasi so aus:

<?php drupal_get_form('server_settings_server_add', server_settings_server_edit);?>

Und das wird natürlich nichts, denn dort wird natürlich nur das erste Formular aufgerufen, weil auch nur das erste Formular übergeben wird (geht auch gar nicht anders, soweit ich weiß).

Aber probier's doch mal so:

<?php
function server_menu() {
 
$items = array();
 
$items['admin/server'] = array(
   
'title' => 'Server',
   
'description' => 'Server Dashboard',
   
'page callback' => 'server_dashboard',
   
'page arguments' => array('server_dashboard'),
   
'access arguments' => array('access server'),
   
'file' => 'server.dashboard.inc',
   
'type' => MENU_NORMAL_ITEM,
   );
 
$items['admin/server/settings'] = array(
   
'title' => 'Settings',
   
'description' => 'Control the way that the server Module operates.',
   
'page callback' => 'drupal_get_form',
   
'page arguments' => array('server_settings'),
   
'access arguments' => array('access server'),
   
'file' => 'server.admin.inc',
  );
 
 
//Hier wird geändert
 
$items['admin/server/settings/server'] = array(
   
'title' => 'Server',
   
'description' => 'Server settings',
   
'page callback' => 'server__serversettings_forms', //wir rufen nicht drupal_get_form auf, sondern eine eigene Funktion, die drupal_get_form 2x aufruft
   
'access arguments' => array('access server'),
  );
 
  return
$items;
}

//Diese Funktion ruft drupal_get_form 2x auf und gibt beide Formulare aus
function server_serversettings_forms()
  {
   
$output = "";
   
   
$path = drupal_get_path('module', 'server');
   
    include
"$path/server.admin.inc";
   
   
$output = drupal_get_form('server_settings_server_add');
   
   
$output .= '<br /><br />';
   
   
$output .= drupal_get_form('server_settings_server_edit');
   
    return
$output;
  }
?>

Damit dürften dann beide Formulare ausgegeben werden.

  • Anmelden oder Registrieren um Kommentare zu schreiben

So ähnlich habe ich das jetzt

Eingetragen von N20 (34)
am 02.10.2010 - 13:59 Uhr

So ähnlich habe ich das jetzt in der Zwischenzeit auch gelöst, habe für den Callback eine eigene Funktion gemacht dort einfach die beiden Forms mittels drupal_get_form aufgerufen.

Meine Funktion so aus:

<?php

function server_settings() {
 
$page_content = '';

 
$page_content .= drupal_get_form('server_settings_add', $form_state_add);
 
$page_content .= drupal_get_form('server_settings_edit', $form_state_edit);
 
  if (
$page_content == '') {
   
$page_content = "No content for this page.";
  }

  return
$page_content;
}
?>

Danke!

  • 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 1 Woche 6 Tagen
  • Hey danke
    vor 2 Wochen 2 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 20 Stunden
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 2 Tagen
  • In der entsprechenden View
    vor 3 Wochen 2 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 2 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 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 24 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