Drupal Node-Anhänge in Block auslagern

Anregung für diesen Beitrag war folgender Thread auf Drupalcenter: http://www.drupalcenter.de/node/6120

Dort wird eine Möglichkeit gewünscht die es ermöglicht die Anhänge eines Node (Upload-Modul) in einen Block auszulagern und gleichzeitig die Anhänge in der Seitenansicht des Node auszublenden.

Mein Lösungsweg:

  1. Zuerst habe ich einen Node erstellt (zum Ansehen nehmen wir diesen Beitrag), dort habe ich ein Bild als Anhang hinzugefügt (das Druplicon).
  2. Dann habe ich einen Block erstellt mit dem Code von http://drupal.org/node/121379#comment-215995.
  3. Die Funktion theme_upload_attachments() habe ich dort ersetzt mit phptemplate_upload_attachments().
  4. Anschliessend hab ich in der template.php die Funktion phptmeplate_upload_attachments() und pebosi_upload_attachments() erstellt (pebosi ist hier der Theme-Name). Der einzige Unterschied der beiden Funktionen ist das <?php if ($file->list && !$file->remove) { ?> dies habe ich bei der phptemplate_ -Funktion ersetzt mit <?php if (!$file->remove) { ?>.
  5. Anschliessend noch den Block aktivieren und den Anhang im Node durch Abwählen von "Alle anzeigen" ausblenden.

Links oben über der Navigation erscheint nun der Block mit den Anhängen des aktuellen Node.

UPDATE
Den entsprechenden Demo-Block habe ich mittlerweile deaktiviert, das Beispiel war noch für Drupal 5 und ist nicht mehr zu empfehlen, da es mit dem Modul Views eine einfacherer und bessere Möglichkeit für solche Dinge gibt.

Kommentare