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

Filefield Inhalt ausserhalb der zugehörigen node ausgeben

Eingetragen von brenes (21)
am 28.07.2008 - 17:58 Uhr in
  • Module
  • Drupal 5.x

Ich versuche ein über das Ckk Filefield modul hochgeladenes PDF, ausserhalb der zugehörigen node auszugeben. Wie könnte ich es nun beispielsweise in der sidebar oder in einer anderen Region unterbringen? Mit

<?php
print $node->content['field_pdf_datei']['#value'];
?>
kann ich es ja direkt in der node.tpl.php ansprechen. Gibt es ähnliche Möglichkeiten für die page.tpl.php?
Beste Grüße

‹ Wie lösen? sitedoc bringt beim cron-Lauf Fehler ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

filefield

Eingetragen von stBorchert (6003)
am 28.07.2008 - 18:29 Uhr
brenes schrieb

Gibt es ähnliche Möglichkeiten für die page.tpl.php?

Klar doch (node_load):

<?php

// Mal angenommen, das pdf gehoert zum node mit der ID 2.
$nd = node_load(2);
print
$nd->content['field_pdf_datei']['#value'];
?>

Dann noch entsprechend Deiner evtln. Wünsche einen Link zum Herunterladen darumbauen und fertig.
Ungetestet, daher ohne jeglichen Anspruch auf Vollständig-/Richtigkeit :-)

hth,

Stefan

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke erstmal für

Eingetragen von brenes (21)
am 28.07.2008 - 21:25 Uhr

Danke erstmal für den Verweis zur node_load Funktion. Bis jetzt habe ich die Funktion leider noch nicht zum Laufen gebracht. Das müsste doch eigentlich von jeder Stelle in meinem Template aus funktionieren - Blöcke und tpl.php dateien mit eingeschlossen. Oder?

beste grüße
ben

  • Anmelden oder Registrieren um Kommentare zu schreiben

node_load und tpl

Eingetragen von stBorchert (6003)
am 28.07.2008 - 21:50 Uhr

Eigentlich(!) müsste es funktionieren. Gibts denn irgendwelche Fehlermeldungen?

Mach mal

<?php
print_r
(node_load(2)); // um mal bei meinem Beispiel mit der ID 2 zu bleiben
?>

Was kommt denn da?

Stefan

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Fehlermeldungen gibt es

Eingetragen von brenes (21)
am 28.07.2008 - 22:41 Uhr

Fehlermeldungen gibt es keine - es erscheint einfach nichts.
Wenn ich deinen test Code in der page.tpl.php in die sidebar einfüge und ID 82 (die mit dem PDF field) eingebe bekomme ich den folgenden Code in der sidebar ausgegeben:

stdClass Object ( [nid] => 82 [vid] => 82 [type] => bildseite [status] => 1 [created] => 1217256015 [changed] => 1217280385 [comment] => 0 [promote] => 1 [sticky] => 0 [revision_timestamp] => 1217280385 [title] => PDF-Test [body] => [teaser] => [log] => [format] => 3 [uid] => 1 [name] => brenes [picture] => files/pictures/picture-1.jpg [data] => a:2:{s:14:"picture_delete";s:0:"";s:14:"picture_upload";s:0:"";} [field_bildfeld] => Array ( [0] => Array ( [fid] => 0 [title] => [alt] => ) ) [field_pdf_datei] => Array ( [0] => Array ( [fid] => 28 [description] => test.pdf [list] => 1 [nid] => 82 [filename] => test.pdf [filepath] => files/pdf/test.pdf [filemime] => application/pdf [filesize] => 8622612 ) [1] => Array ( [fid] => 29 [description] => test2.pdf [list] => 1 [nid] => 82 [filename] => test2.pdf [filepath] => files/pdf/test2.pdf [filemime] => application/pdf [filesize] => 223179 ) ) [field_txt] => Array ( [0] => Array ( [value] => ) ) [0] => [taxonomy] => Array ( ) ) 

Scheint mir alles aufgeführt zu sein was in der node enthalten ist. Wenn ich nun an der selben Stelle den Code von oben mit entsprechender node ID eingebe sollte er mir ja eigentlich das cck Feld mit der PDF datei ausgeben - da tut sich jedoch nichts.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Pfad zur Datei

Eingetragen von stBorchert (6003)
am 29.07.2008 - 09:09 Uhr
brenes schrieb

//snip//
Scheint mir alles aufgeführt zu sein was in der node enthalten ist. Wenn ich nun an der selben Stelle den Code von oben mit entsprechender node ID eingebe sollte er mir ja eigentlich das cck Feld mit der PDF datei ausgeben - da tut sich jedoch nichts.

Ah, nee. Denkfehler beiderseits :-)
Nochmal die Ausgabe vom node:

  [field_pdf_datei] => Array (
    [0] => Array (
      [fid] => 28
      [description] => test.pdf
      [list] => 1
      [nid] => 82
      [filename] => test.pdf
      [filepath] => files/pdf/test.pdf
      [filemime] => application/pdf
      [filesize] => 8622612
    )
    [1] => Array (
      [fid] => 29
      [description] => test2.pdf
      [list] => 1
      [nid] => 82
      [filename] => test2.pdf
      [filepath] => files/pdf/test2.pdf
      [filemime] => application/pdf
      [filesize] => 223179
    )
  )

Du hast also zwei Dateien, die an node 82 angehängt sind.

Mal angenommen, Du möchtest zu jeder Datei einen Link auf der page.tpl.php haben, mit dem man die Datei öffnen kann.
Dann musst Du folgenden Code einfügen:

<?php
$nd
= node_load(82);
foreach(
$nd->field_pdf_datei as $key => $file) {
  print
'<a href="'. $file['filepath'] .'" title="'. $file['description'] .'">'. $file['name'] .'</a><br />';
}
?>

Das sollte dann ausgeben:

<a href="files/pdf/test.pdf" title="test.pdf">test.pdf</a><br />
<a href="files/pdf/test2.pdf" title="test2.pdf">test2.pdf</a><br />

Viel Spass beim Testen,

Stefan

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Super danke das klappt schon

Eingetragen von brenes (21)
am 29.07.2008 - 22:09 Uhr

Super danke das klappt schon mal soweit, dass ich die links in der Sidebar im Quelltext finde. Jedoch scheint das mit dem '. $file['name'] .' noch nicht zu klappen. Ich bekomme nur den ungeschlossenen Link Tag ausgegeben. <a title="test.pdf" href="files/pdf/test.pdf"/> der letzte part mit dem link zur Datei fehlt. Dann noch was: Wäre es nun möglich in der Funktion zu sagen wenn node xy aktiv, dann gebe mir bitte wenn vorhanden zugehöriges filefield xy an gewünschter Stelle im Template aus? Das würde das Ganze nämlich dynamischer machen und mir die verweise auf die Node ID ersparen.

Beste Grüße

ben

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nur mal so als Anregung.

Eingetragen von quiptime (4972)
am 30.07.2008 - 02:57 Uhr

@brenes,

bist Du auch mal auf die Idee gekommen selbst zu testen anstatt zu fragen?

Z. Bsp. setze eine Node auf unveroeffentlicht und gib von dieser Node wie voran mit print_r() das Nodeobject aus. Und dann sehe mal hin ob Du erkennen kannst woran man eine nicht veroeffentlichte Node erkennt.

Nur mal so als Anregung.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

Da geht noch was.

  • Anmelden oder Registrieren um Kommentare zu schreiben

und noch eine Anregung

Eingetragen von stBorchert (6003)
am 30.07.2008 - 07:58 Uhr

Moin!
Wenn Du in meinen vorangegangenen Beitrag schaust und da mal die Ausgabe des node betrachtest, wirst Du schnell sehen, dass ich mich vertan habe: $file['name'] gibts nicht. Das muss $file['filename'] heissen.
Tipp zur Dynamisierung (komisches Wort): arg().
Damit kannst Du die Id des node auslesen (so denn vorhanden).

hth,

Stefan

Tipp: Beachte die Verhaltensregeln des DrupalCenter.

Logo undpaul

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Anregungen

Eingetragen von brenes (21)
am 03.08.2008 - 14:53 Uhr

Sorry für meine späte Antwort, war für ein paar Tage offline.
Das ganze funktioniert nun, ich bekomme wie erwünscht die beiden Dateien an beliebiger Stelle im Template ausgegeben. Danke. Zusätzlich habe ich grade ein Modul gefunden, dass im Prinzip genau das tut was ich mir vorgestellt habe. Nämlich die CKK Felder der aktuellen Seite als Blöcke auszugeben. Das Modul gibts hier http://drupal.org/project/cck_blocks

Danke & beste Grüße

Ben

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Content Ex-/Import
  • Meldung zu Token im Statusbericht
  • RESTful Path request will nicht
  • Modulupdate per Webinterace scheitert an authorize.php und access denied für Admin-User
  • Wer ist online Block
  • Doppelte Anzeige von Node im View
  • URL-Alias von bestehendem Link wird gelöscht und auf -0 gesetzt 404 Fehler entsteht
  • Ausblenden von Taxonomy wenn diese keinen Inhalt haben
  • Image als Anhang
  • [gelöst] Benutzer erstellen ohne Berechtigung zum ändern von E-Mail oder Passwort
  • HTTP ERROR 500, wenn der Node eines bestimmten Typs gespeichert wird oder ein neuer Inhalt dieses Typs erzeugt werden soll
  • Module modifizieren zb Statuses
Weiter

Neue Kommentare

  • Genau das habe ich auch
    vor 3 Stunden 32 Minuten
  • Tja, das kann ich wirklich
    vor 3 Stunden 44 Minuten
  • Irgendwie scheint Drupal
    vor 3 Stunden 48 Minuten
  • *HEUREKA* Ich habe das Modul
    vor 4 Stunden 4 Minuten
  • SaarlandToday schrieb Wenn es
    vor 4 Stunden 54 Minuten
  • Wenn es sich um eine
    vor 5 Stunden 52 Minuten
  • Vielleicht hilft #5 bzw. #13
    vor 18 Stunden 47 Minuten
  • War das eine saubere Drupal 9
    vor 19 Stunden 7 Minuten
  • Ich hab das Modul wie auch
    vor 22 Stunden 14 Minuten
  • Wie installierst Du das
    vor 22 Stunden 23 Minuten

Statistik

Beiträge im Forum: 245956
Registrierte User: 18825

Neue User:

  • Damian1802
  • MrWebMV
  • kiba

» Alle User anzeigen

User nach Punkten sortiert:
wla9008
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3916
ronald3829
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 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