node-inhaltsty.tpl.php themen
am 26.05.2009 - 21:32 Uhr in
Hallo Leute,
ich muß gestehen: ich stehe mit PHP auf Kriegsfuß!
Mit folgendem Code
<div class="content clear-block">
<pre>
<?php
print_r ($node);
?>
</pre>
</div>habe ich mir diesen Teil u.a. anzeigen lassen
stdClass Object
(
[nid] => 82
[type] => downloads
.
.
.
.
[field_upload] => Array
(
[0] => Array
(
[fid] => 35
[list] => 1
[data] => Array
(
)
[uid] => 1
[filename] => mai_2009.pdf
[filepath] => sites/default/files/info/mai_2009.pdf
[filemime] => application/pdf
[filesize] => 91466
[status] => 1
[timestamp] => 1241726072
[nid] => 82
[view] => mai_2009.pdf
)
)
.
.
.
)Wie kann ich mit dem geschaffenen Node-Template "node-downloads.tpl.php" die Information zur Dateigröße [filesize] anzeigen lassen?
- Anmelden oder Registrieren um Kommentare zu schreiben

$node->field_upload[0]['files
am 26.05.2009 - 21:42 Uhr
$node->field_upload[0]['filesize']
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
template-Ergebnis
am 27.05.2009 - 17:58 Uhr
Wenn ich mein Template "node-downloads.tpl.php" derart ergänze (Basis bildet eine Kopie der node.tpl.php-Datei), erhalte ich jedoch keine Ausgabe der Dateigröße (filesize) - sieht also aus wie vorher!?
Cache habe ich gelehrt - Seite mehrfach neu geladen!
...
<div class="content clear-block">
<?php print $content ?>
</div>
<div class="content clear-block">
<?php print $node->field_upload[0]['filesize'] ?>
</div>
...
Wo liegt mein Denkfehler?
Die Template-Datei trägt auf jeden Fall den richtigen Namen (um das mal als Fehler auszuschließen), da nach Erstellung der Datei node-downloads.tpl.php eine zusätzliche Leerzeile nach dem Inhalt ($content) erscheint.
template gestalten
am 28.05.2009 - 15:28 Uhr
Eine weitere Frage thematisch passend:
wenn ich den Inhaltstyp "Seite" (oder "page") gestalten möchte,
wie muß die Datei dann lauten?
Bin ich mit "node-page.tpl.php" auf dem richtigen Weg?
es kommt drauf an was du
am 28.05.2009 - 19:07 Uhr
es kommt drauf an was du verändern willst.
Installier dir mal das Devel und das Theme Developer Tool, welches dabei ist.
Damit kannst du über inhalt hovern und schauen welch tpl es dafür gibt.
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
klausi schrieb Wenn ich
am 04.06.2009 - 11:52 Uhr
Wenn ich mein Template "node-downloads.tpl.php" derart ergänze (Basis bildet eine Kopie der node.tpl.php-Datei), erhalte ich jedoch keine Ausgabe der Dateigröße (filesize) - sieht also aus wie vorher!?
Cache habe ich gelehrt - Seite mehrfach neu geladen!
...
<div class="content clear-block">
<?php print $content ?>
</div>
<div class="content clear-block">
<?php print $node->field_upload[0]['filesize'] ?>
</div>
...
Wo liegt mein Denkfehler?
Die Template-Datei trägt auf jeden Fall den richtigen Namen (um das mal als Fehler auszuschließen), da nach Erstellung der Datei node-downloads.tpl.php eine zusätzliche Leerzeile nach dem Inhalt ($content) erscheint.
Naja, langsam raffe ich es doch (-:
<div class="content clear-block"><?php print $content ?>
<div><span style="font-weight:bold;">Dateigrösse: </span> <?php printf ("%.2f", $node->field_upload[0]['filesize'] / 1024); ?> KB</div>
</div>
bringt die gewünschte Anzeige von (bspw.):
Dateigrösse: 89.23 KBJa. Richtiger Weg.
am 04.06.2009 - 11:56 Uhr
Bin ich mit "node-page.tpl.php" auf dem richtigen Weg?
Ja.
Ich empfehle Dir das Handbuch auf DC zu diesem Thema.
------------------------
Quiptime Group
Was soll printf im Code?
am 04.06.2009 - 12:05 Uhr
Was soll printf im Code?
Wenn man von einer Datei die Groesse in KB, ausgehend von der Angabe im Node Object, ausgeben will sollte man die entsprechende Drupalfunktion format_size() verwenden.
Damit kann man einen Wert der Form 3465 ausgeben in 3.46 KB. Wobei die Drupalfunktion den Wert bei der Ausgabe anpasst/rundet.
Das sollte so funktionieren
<?phpprint format_size($node->field_upload[0]['filesize']);
?>
------------------------
Quiptime Group