Ich bin ziemlich neu in Drupal ... Ich habe mich ein wenig gelernt und hämmerte bisher ein benutzerdefiniertes Modul. Ich versuchte herauszufinden, ob es einen Weg gab, ein anderes Modul in einen mit PHP-Eingabe formatierten Knoten einzubinden oder einzubetten. In meinem Fall habe ich einen Knoten mit ein paar dynamisch generierten Tabellen, und ich möchte etwas wie WebFM für die Dateiverwaltung in derselben Ansicht einfügen. Gibt es einen Weg in Drupal, um so etwas zu tun oder bin ich total auf dem falschen Weg? Und wenn es Letzteres ist, schaue ich mir an, ein weiteres benutzerdefiniertes Modul zu erstellen, um das zu erreichen, wonach ich suche? Ich brauche wirklich nur etwas, damit Benutzer Dateien (nur für diesen Benutzer sichtbar) auf derselben Seite hochladen und anzeigen können wie andere benutzerspezifische Informationen. WebFM könnte mehr sein, als ich brauche, und ich würde sein Aussehen etwas ändern wollen, aber ich dachte, ich könnte es für meinen Fall funktionieren lassen. Danke für jede Anleitung.Ein Drupal-Modul in einem Knoten
Antwort
Es ist großartig, Sie machen Ihre eigenen benutzerdefinierten Module und so sind Sie auf Ihrem Weg.
Wenn ich Sie wäre, würde ich persönlich machen, was Sie der Seite in einen Block hinzufügen möchten, den Sie unter oder über dem Knoten platzieren können. Die Block-API ist sehr leistungsfähig und flexibel.
Aber wenn Sie wirklich wollen, um den Inhalt in den Knoten selbst zu platzieren, ist es machbar, aber viel schwieriger. Es gibt den Node-Preprocess-Hook (MYMODULE_preprocess_node()), mit dem Sie die Inhalte ändern können, die an den Knoten übergeben werden. Zu diesem Zeitpunkt wurde jedoch bereits ein großer Teil des Node-Inhalts zusammen gruppiert Ende des Knoteninhalts. Sie können hier jedoch andere vollständig neue Variablen hinzufügen, die Sie in Ihrer node.tpl.php verwenden können.
Die andere Möglichkeit besteht darin, Ihre eigene Seite basierend auf einem Knoten mit hook_menu zu erstellen. Hier können Sie Parameter sammeln, mit denen der Knoten mit node_load ($ id) gestartet wird. Die Knotenladefunktion erstellt tatsächlich das Knotenobjekt, von dem es sehr einfach ist, den aufgegliederten Knoten so zu bearbeiten, wie Sie es für richtig halten. Dann können Sie damit Ihre eigene Seite erstellen. Aber wenn Sie einen eigenen Inhaltstyp haben, können Sie eine Vorlage für diesen Inhaltstyp erstellen und die Daten mit preprocess_node bearbeiten, aber in Ihrer eigenen datentypbasierten Vorlage die modifizierte Ausgabe des Knotenobjekts übergeben, das Sie von node_load
erhaltenIch weiß, dass es viele Möglichkeiten gibt, es anzugehen, jedes mit seinen eigenen Herausforderungen. Aber Drupal ist ziemlich flexibel und ermöglicht Ihnen einen einfachen Zugriff auf solche Kerndaten.
Hoffe, es funktioniert gut ....
Die Filefield CCK module könnte was Sie suchen.
Ja, ich schaute auf das Filefield CCK-Modul ein bisschen. Ich wollte etwas mehr wie eine Tischanzeige und Filefield versucht, die Dateien einfach zu stapeln. Vielleicht gibt es wieder einen Weg, dies zu ändern, aber ich bin neu in der Drupal-Welt und immer noch orientiert. – bwb3
Die einfache Antwort, wie Andrew erwähnt, ist ein vorgefertigtes Modul zu verwenden. Ich sprach jedoch von der Aussicht, es selbst zu machen. – Richard
Danke Richard. Es ist in Ordnung, wenn der Abschnitt zum Hochladen von Dateien den anderen Inhalt verfolgt, sodass die Verwendung der Block-API möglicherweise einfach funktioniert. Die anderen Methoden würden wirklich das ausdehnen, was ich weiß, aber das ist eine gute Sache. Ich werde diese Optionen noch einmal lesen und versuchen, meinen Kopf um sie zu legen. Ich mag die Flexibilität, die die letzte Option bietet ... Ich muss nur einen Sinn daraus machen :). Danke noch einmal. – bwb3