In drupal 5 , all'interno di un contenuto, inserisco il codice qui sotto riportato e poi abilito come formato di input PHP CODE.
Ma a video non mi viene stampato nulla!!!
come mai?
<pre>
<?php
print_r($node);
?>
</pre>
Lo scopo di tutto questo e' quello di intercettare un tipo di contenuto e quindi fare determinate operazioni a seguito di una IF.
dove sbaglio?
prova ad inserire il codice in node.tpl.php
Certified to Rock
Fatto e ora funziona...a parte il fatto di capire il perche'??
ma per i miei fini mi serviva capire che il campo per me utile e' il : [type] => page
Ora come lo piazzo dentro una IF ?
Questo, ovviamente va inserito nel template, non nel corpo del nodo!
;)
non funzionava perchè il body (dove inserivi il codice) non ha idea di dove si trova, mentre il template del nodo lo sa benissimo..
Certified to Rock
Sto provando a modificare il template.php in questo modo, il mio scopo e' quello di far visulizzare la parte relativa agli attachements solo sui nodi di tipo pagina. Ma non funzia...qualcuno puo' provare?
function phptemplate_upload_attachments($files) {
if ($node->type == 'page'){
$header = array(t('Attachment'), t('Size'));
$rows = array();
foreach ($files as $file) {
$file = (object) $file;
if ($file->list && !$file->remove) {
// Generate valid URL for both existing attachments and preview of new attachments (these have 'upload' in fid)
$href = file_create_url((strpos($file->fid, 'upload') === FALSE ? $file->filepath : file_create_filename($file->filename, file_create_path())));
$text = $file->description ? $file->description : $file->filename;
$rows[] = array(l($text, $href), format_size($file->filesize));
}
}
if (count($rows)) {
return theme('table', $header, $rows, array('id' => 'attachments'));
}
}
}
Ciao,
non ho capito perchè vai a fare una funzione su template.php quando faresti prima ad utilizzare un template per il nodo di tipo pagina (node-page.tpl.php)... Non ricordo, ma mi sembra che su drupal 5 i template per i tipi di contenuto siano con un underscore e non con un trattino (node_page.tpl.php); prova a cercare qualche info in più su drupal.org, sono anni che non utilizzo più drupal 5!
;)
Perche' utilizzo il
<?php print $content; ?>
e quindi in automatico mi include anche gli attachement.Il tipo di nodo che sto usando e' fatto con CCK.
Se è solo il problema di dividere il content da tutti gli altri campi è presto detto:
Questo ti stampa solo il body del tuo contenuto e puoi richiamare i singoli campi all'interno del tuo template di contenuto!
P.S.: non so se funziona in questo modo anche su drupal 5, sul 6 funziona perfettamente!
;)
OK...fino a qui ci sono.
Ultima cosa e' poi ho finito :)
come faccio a stampare la parte degli allegati?(modulo UPLOAD)
Vedi come te lo sputa fuori con il solito:
<pre><?php print_r($node); ?></pre>
potrebbe essere qualcosa tipo:
P.S.:credo di non aver lavorato mai con gli allegati... preferisco di gran lunga filefield...
;)
risolto :)
<?php
if (($user->uid) && ($node->files) && ($page) && ($files)) {
/* stampa la parte degli allegati */
$allegato = theme_upload_attachments($files);
print $allegato;
}
?>