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

drupalCreateNode oder anderes um PHP Code auf der Node auszugeben.

Eingetragen von Julsen (178)
am 08.07.2013 - 09:46 Uhr in
  • Modul-Entwicklung
  • Drupal 7.x

Guten Tag zusammen,

wollte mal ein eigenes Modul erstellen. In erster Linie wollte ich ein größeres Formular für diverse Rechenoperatoren erstellen. Angefangen hatte ich es über den form Hook zu realisieren. Hat auch ganz gut geklappt, leider bin ich so recht zügig an die Grenzen gestoßen. Nun habe ich das Formular in PHP erstellt und wollte es jetzt in mein Modul einbetten. Meine Frage wäre jetzt nur, wie kann ich meinen PHP Code auf die Node laden bzw. auf dieser ausführen lassen ohne auf das PHP Modul von Drupal zurückzugreifen??

Hatte die Funktion

return $this->drupalCreateNode(array('body' => array(LANGUAGE_NONE => array(array('value' => '<?php print "Test"; ?>')))));
  }

gefunden.

Leider klappt es nicht und die Seite funktioniert danach nicht mehr. Eine einfach ausgabe bringt das Formular nur komplett über den Content und nicht an die richtige Stelle. Den Pfad, Access usw. habe ich über hook_menu geregelt.

Viele Grüße
Julsen

‹ Formular mit POST an andere Seite schicken, hook_menu() Frage Feeds - Nodes mit Taxonomien importieren ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn Du vernünftig mit

Eingetragen von wla (9461)
am 08.07.2013 - 11:03 Uhr

Wenn Du vernünftig mit eigenen Modulen in Drupal arbeiten willst, mußt Du Dich mit der Drupal API vertraut machen. Das geht nicht in einem Tag, sondern ist ein etwas längerer Prozess mit einigem an Try and Error. Besorge Dir das Buch "Pro Drupal 7 Development", dann hast Du schon mal einen guten Startpunkt.
Hook_form ist nicht so schwierig, aber lies Dir auf drupal.org die Form-API genau durch. es gibt auch das Example Projekt, in dem Du für viele Anwendungen Beispiel-Module findest. Die kannst Du als Ausgangspunkt für eigene Entwicklung nehmen.
Insgesamt kann ich nur sagen: "Nicht aufgeben, schließlich wurde Rom auch nicht in einem Tag erbaut."

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Besten Dank! Hatte mir jetzt

Eingetragen von Julsen (178)
am 08.07.2013 - 11:25 Uhr

Besten Dank!

Hatte mir jetzt zusätzlich noch page_example angeschaut und versuche es hiermit. Mein Formular hat 50+ Felder, wovon auch teilweise unterschiedlich viele Felder nebeneinander angezeigt werden, keine Ahnung wie ich das hätte anders realisieren können. Das Buch sollte ich mir mal bei Gelegenheit besorgen, sind nur leider nicht gerade günstig für Studenten.

Viele Grüße
Julsen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich schaue bei solchen

Eingetragen von wla (9461)
am 08.07.2013 - 11:54 Uhr

Ich schaue bei solchen Büchern immer bei Amazon und dann in der Rubrik andere Angebote. Da wird das Buch schon deutlich günstiger angeboten (z.Zt. für € 28,01 bei Lieferung aus England + € 3.- Versand).
Evtl. ist es für dich einfacher einen neuen Datentyp anzulegen mit den entsprechenden Feldern. Dann hast Du Dein Formular auch schon definiert. Die Anordnung der Felder im Eingabeformular kannst Du gut mit der Display Suite und dort dem Modul Display Suite Forms erzielen. Du definierst dabei unter Felder verwalten erst ein Layout, sicherst es und kannst Dann die Felder in dem Layout anordnen. Für die Feinarbeit braucht es aber immer CSS, auch bei einem eigenen Modul, das das Formular erstellt.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier

Eingetragen von Julsen (178)
am 08.07.2013 - 13:42 Uhr

Hier http://www.amazon.com/dp/1430228385 gibt es das Buch schon für ca. 20 €.

Viele Grüße
Julsen

//Update:
Habe es jetzt mit menu hook, permission hook und nem callback mit return array('#markup' => t($output)); gelöst, wobei sich alle Daten in der $output Variable befinden :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Die Benutzung der t-Funktion

Eingetragen von wla (9461)
am 08.07.2013 - 13:50 Uhr

Die Benutzung der t-Funktion für Variablen, wie von Dir gezeigt, ist nicht korrekt! Die t-Funktion bekommt nur englische Strings und wenn da Zahlen drin sein sollen, die sich ändern können, gibt es dafür einen entsprechenden Array, in dem die Werte übergeben werden und Placeholder im String. Steht in der API Dokumentation zu t-Funktion. Wenn schon Programmieren, dann auch entsprechend der Coding-Vorgaben von Drupal.

Beste Grüße
Werner

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmm, laut Dokumentation kann

Eingetragen von Julsen (178)
am 08.07.2013 - 15:20 Uhr

Hmm, laut Dokumentation kann ich t nutzen, muss aber bei userinput darauf achten, dass ich keine Sicherheitslücke schaffe. Ich übergebe ja quasi nur Text, welcher sich in der Variable $output befindet an die t Funktion.

Viele Grüße
Julsen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Rolle erstellen nicht zu finden
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • 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
Weiter

Neue Kommentare

  • Rollen
    vor 1 Tag 13 Stunden
  • Inzwischen sind wir bei
    vor 1 Woche 5 Tagen
  • Migrieren von D7 auf D8/ D10/ D11
    vor 1 Woche 5 Tagen
  • melde mich mal wieder, da ich
    vor 9 Wochen 3 Tagen
  • Hey danke
    vor 9 Wochen 3 Tagen
  • Update: jetzt gibt's ein
    vor 9 Wochen 4 Tagen
  • Hallo, im Prinzip habe ich
    vor 10 Wochen 2 Tagen
  • Da scheint die Terminologie
    vor 10 Wochen 2 Tagen
  • Kannst doch auch alles direkt
    vor 10 Wochen 6 Tagen
  • In der entsprechenden View
    vor 10 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250237
Registrierte User: 20464

Neue User:

  • ocvk2810
  • marouane.blel
  • capilclinic

» 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 30 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