Inserire field nel template modulo print

4 contenuti / 0 new
Ultimo contenuto
Inserire field nel template modulo print

Buonasera a tutti,

mi trovo con un problema che, nonostante ricerche e tentativi, non riesco a risolvere.

Devo stampare su carta dei nodi specifici di un content type utilizzando il modulo Print.
Con D6 nessun problema: creo il mio file print.node-nome_content_type.tpl.php, inserisco il layout necessario, faccio comparire i fields cck dove mi servono attraverso

<?php print $node->field_nomecampo[0]['view'] ?>

inserendo però all'inizio del file
<?php
$node
= $print['node'];
?>

e funziona.

Il problema è che devo trasferire il tutto da d6 a d7, perciò mi creo il mio file
print--node--nome_content_type.tpl.php (copiato dal modulo print) e faccio tutte le modifiche del caso.

Le rogne nascono nel momento in cui devo far comparire i fields personalizzati del contenuto.
Cercando in giro ho trovato diverse soluzioni, l'unica funzionante questa
http://drupal.stackexchange.com/questions/60284/how-to-add-a-cck-field-t...

ma mi trovo con un problema: questo codice, utilizzando la funzione field_view_field(), mi stampa il field NON con la formattazione che io gli ho impostato per il contenuto. Ho già provato a settare la visualizzazione per la modalità stampa ma non modifica.
Da quello che ho visto probabilmente devo lavorare sul parametro

$display = array()

ma non saprei come dirgli di mostrarmi il campo UGUALE a come lo vedo sul nodo.

Chiedo gentilmente a qualcuno se ha già avuto questo problema e come è riuscito a risolverlo.

Ringrazio in anticipo per le risposte.

Drupal Version:

Vado un po' a memoria sul display, ma prova con "view" o "full". M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Ciao ziobudda,
ti ringrazio per la pronta risposta. Ho provato con

<?php print render(field_view_field('node', $print['node'], 'field_nomedelcampo', $display = array('label'=> 'hidden', 'view'))); ?>

oppure "full" al posto di view ma nulla, mi restituisce sì il campo ma non formattato come lo avevo formattato per il nodo.
Per far capire ho un campo con un numero dove non volevo posizioni dopo la virgola ("1") ed invece me lo restituisce con i decimali ("1.00"). Un altro caso, ad esempio, ho un campo con un node reference ma mi restituisce solo il titolo del nodo come link al contenuto.

Dove sbaglio? errore nella sintassi?

Ringrazio ancora.

Passione per Drupal
http://retialternative.it

A forza di provare ho trovato e come immaginavo c'era un mio errore di sintassi:

<?php print render(field_view_field('node', $print['node'], 'field_nomecampo', $display = 'view')); ?>

e ovviamente Ziobudda aveva ragione. Ti rngrazio per l'imbeccata!

PS: come posso inserire il "risolto" sul post? non me lo fa modificare...!

Passione per Drupal
http://retialternative.it