eigene Modulausgabetabelle in einen node einbinden
am 11.10.2008 - 18:54 Uhr in
Mit dem Views-Modul erstellte Ansichten kann man mit der Funktion
views_embed_view('viewname', $display_id = 'default', argument)
in einen Node,d.h. über die node-nodetyp.tpl.php einbinden.
Da Views leider keinen ODER-Filter erlaubt, habe ich mir ein kleines Modul entwickelt, das am Ende mit der Zeile
return theme('table',$header,$tabelle);
eine entsprechende Tabelle ausgibt.
Das aber nur als neue Seite, wenn ich die Modulfunktion entsprechend über die URL aufrufe.
Gibt es für die Einbindung einer Modulausgabe in einen Node eine entsprechende Funktion, wie views_embed_view() ?
Wenn ja, welche ?
Kann ich die Modulausgabe so ändern, dass Drupal die Ausgabe als mit dem Modul Views erstellt erkennt, so dass ich die Funktion wiederverwenden kann ? Wenn ja, wie ?
Was mir auch nicht so ganz klar ist, wie ich an meine eigene Modulfunktion einen Parameter / ein Argument übergebe.
- Anmelden oder Registrieren um Kommentare zu schreiben
Wenn du dir ein eigenes
am 13.10.2008 - 11:06 Uhr
Wenn du dir ein eigenes Modul baust, kannst du mit "hook_menu" eigene Menü-Einträge erstellen.
http://api.drupal.org/api/function/hook_menu/6
Darüber kann man genau festlegen wo dein Link eingebunden werden soll z. B. als Menü, als Tab oder nur als URL...
Das kann man aber vielleicht auch mit Views lösen - kommt auf die Details deiner Aufgabe an.
Du könntest dir auch eine View über die API des View-Moduls erstellen oder einen View-Filter selber bauen.
Wenn du möchtest, kannst du dein Vorhaben hier posten und ich schaue da mal rüber.
Viele Grüße,
www.maximago.de
Viele Grüße,
www.maximago.de/technologie/drupal.aspx
Über hook_menu kann ich
am 13.10.2008 - 18:36 Uhr
Über hook_menu kann ich einen Menüpunkt als Link, der die Modulfunktion aufruft, erzeugen.
Das gleiche macht der Aufruf über die URL.
Als Ergebnis wird eine neue Seite erzeugt und angezeigt.
Damit das geschieht muss also immer die Aktion durch den User ausgelöst werden.
Das funktioniert auch bei mir.
Meine Fragestellung ist aber anders:
Ich rufe einen Node eines bestimmten Inhaltstypen auf. In diesem Node soll dann automatisch die mit dem Modul erzeugte Seite/Tabelle eingebunden dargestellt werden, d.h. der Aufruf des Nodes muss den Aufruf der Funktion auslösen und den Node mit der eingebundenen Seite darstellen, eben wie es bei der Funktion views_embed_view() mit einem View geschieht.
Ganz sauber wäre es, wenn
am 14.10.2008 - 09:44 Uhr
Ganz sauber wäre es, wenn du eine View über ein eigenes Modul bereitstellst.
ODER-Verknüpfung sind generell machbar, weil du der Views-API eigene Filter bereitstellen kannst.
Mit einem Modul kannst du direkt dem Query-Builder des Views-Moduls ansprechen und die WHERE-Klausel
des SQL-Befehls bearbeiten.
Etwas einfacher wäre vielleicht die Form-API.
Da könntest du z. B. nachsehen, wie Taxonomy mit "hook_form_alter" Inhalte an Nodes anhängt.
Viele Grüße,
www.maximago.de
Viele Grüße,
www.maximago.de/technologie/drupal.aspx