Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Inhalte aus Formularen in andere Formulare integrieren

Eingetragen von sarahara (13)
am 17.03.2009 - 15:52 Uhr in
  • Themes & Theming

Hallo liebe Forumler, ich hoffe ich kann mich an diesem schönen fast Frühlingstag verständlich ausdrücken, denn wenn ich wüsste wonach ich suchen muss, würde ich es vllt sogar alleine finden : )

Zu meinem Problem:

Ich habe das Formular auf der Profileinstellungsseite eines Users angepasst:

function phptemplate_user_edit($form) {
$output .= '<style type="text/css">

.title {display:none;}

div.edit_user_div fieldset {border:0px;padding:0px;margin:0px;}
div.edit_user_div fieldset legend {display:none;}

div.edit_user_div input {font-size:16px !important;padding:3px !important;width:400px;}

div.edit_user_div  input.form-submit {color:#fff;background-color:#379dc0;padding:5px;border:3px solid #318dad;margin-right:20px;width:150px;}

</style>';
$output .= '<div class="edit_user_div"><div style="width:440px;margin-right:30px;float:left;">';
$output .= drupal_render($form['account']);
$output .= drupal_render($form['gift_certificates']);
$output .= drupal_render($form['flickr']);
$output .= '</div>';
$output .= '<div style="width:400px;float:left;">';
$output .= drupal_render($form['picture']);
$output .= '';
$output .= drupal_render($form['submit']);
$output .= '<div style="display:none;">';
$output .= drupal_render($form['legal']);
$output .= drupal_render($form['comment_settings']);
$output .= drupal_render($form['mimemail']);
$output .= '</div>';
$output .= '</div><br style="clear:both;" /></div>';
$output .= drupal_render($form);
return $output;
}

Das hat durch "print_r($form)" super geklappt. Ich habe alles integriert, was ausgegeben wird. Jetzt habe ich eine weitere Formularseite, die ich über einen Tab erreichen kann, auf der ich den Newsletter abbestelle oder bestelle. Auf dieser Seite kann ich die Checkbox über "$output .= drupal_render($form[''subscriptions]);" rendern lassen.

Wenn ich jetzt aber eben diese Checkbox zum bestellen/abbestellen des Newsletters auf der richtigen Usereinstellungsseite haben möchte, auf der ich auch das Bild ausstausche und so, und eben dieses "$output .= drupal_render($form[''subscriptions]);" dort mit angebe, gibt er mir selbstverständlich nichts aus.

Wie bekomme ich aber nun hin, dass auch diese Sache auf der von mir gewollten Seite ausgegeben wird. Gibt es da irgendwie eine Möglichkeit?

Es wäre ja interessant zu wissen, ob es dafür eine generelle Lösung gibt, von einem bestimmten Formular an irgendeiner Stelle etwas auf einem anderen Formular auszugeben.

Vielen lieben Dank

Sarah

‹ Aktivierte Menüpunkte trotz Taxonomy [gelöst] Hauptlinks fest platzieren ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Vorgehen

Eingetragen von tumblingmug (872)
am 18.03.2009 - 12:10 Uhr

Beim Modul subscriptions kann ich Dir konkret momentan nicht helfen, da ich es nirgdwo installiert habe; aber generell gehe ich so vor, dass ich mir die URL des benötigten Formulars ansehe und dann im betreffenden Modul zu dieser URL den Namen der passenden Callback-Funktion (innerhalb der hook_menu()-Funktion definiert) suche. Diese Callback-Funktion lässt sich dann eben auch an anderer Stelle aufrufen und gibt das Formular dann eben an dieser anderen Stelle aus.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Schreibe ein Modul, das hook_user implementiert

Eingetragen von traxer (1009)
am 18.03.2009 - 12:42 Uhr
sarahara schrieb

Jetzt habe ich eine weitere Formularseite, die ich über einen Tab erreichen kann, auf der ich den Newsletter abbestelle oder bestelle. Auf dieser Seite kann ich die Checkbox über "$output .= drupal_render($form[''subscriptions]);" rendern lassen.

Schreibe ein Modul, das hook_user implementiert indem für $op = 'form' eine zusätzliche Checkbox angezeigt wird und für $op = 'update' der entsprechende Eintrag in der Datenbank vorgenommen wird.

Das Problem mit "$output .= drupal_render($form[''subscriptions]);" ist die Verarbeitung von eingebenen Daten. Normalerweise passiert die in der Funktion drupal_get_form, und wird auf Anweisung des Moduls vom Drupal-Kern aufgerufen. drupal_get_form liefert aber auch das komplette Formular als HTML, nicht nur einzelnen Teile. Und ein drupal_retrieve_form (was das bekannte Forms API Array liefern würde) bring dich nicht weiter, da dann die Verarbeitung von eingegebenen Daten fehlen würde.

--
XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

puh. könntet ihr mir das

Eingetragen von sarahara (13)
am 05.05.2009 - 15:37 Uhr

puh.

könntet ihr mir das nochmal erklären unter dem gesichtspunkt, dass ich ein php laie bin?

vielen dank : )

sarah

  • 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 14 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • 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 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 14 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

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 27 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