Salve,
vorrei personalizzare la form di inserimento/aggiornamento di un contenuto.
Premesso che ho personalizzato il tema bluemarine e sto' utilizzando la verione 6.x, la mia esisegnza è questa :
"ho creato un tipo di contenuto "rubrica" con i seguenti campi:
- ufficio
- responsabile
- telefono
- fax
- email
etc.
e vorrei fare in modo che l'utente quando aggiunge/modifica un nodo del tipo su indicato utilizzi una form personalizzata.
Ho provato a personalizzare il file page.tpl.php dopo avregli cambiato il nome in
page-rubrica.tpl.php
page-node-rubrica.tpl.php
page-rubrica-edit.tpl.php
page-node-rubrica-edit.tpl.php
e lo stesso ho fatto con il modulo node.tpl.php ma è come se questi venissero ignorati.
Ho creato il file template.php, che di default non è presente nel tema, e personalizzato la funzione bluemarine_preprocess_page(&$vars) - come indicato http://www.drupalitalia.org/node/8966 - ma niente, non ottengo nessun risultato.
Potreste aiutarmi a risolvere il problema.
grazie, buon lavoro...
PS: cambiando il nome del file node.tpl.php in node-rubrica.tpl.php ho personalizzato l'output del nodo, e personalizzando i file
- views-view-unformatted--rubrica-completa.tpl.php
- views-view-fields--rubrica-completa.tpl.php
anche l'output della vista è stato modificato.
Ho intuito il funzionamento di D. ma non ho compreso fino in fondo i meccanismi alla base della visualizzazione delle pagine. potreste indicarmi del materiale da studiare utile a comprendere cio ?
Io ho usato un tpl tipo page-node-nomecontenttype-edit.tpl.php
Ma per farlo funzionare, devi inserire qualcosa nel template.php
function tuotema_preprocess_page(&$vars) {
if (arg(0) == 'node' && arg(2) == 'edit') {
$vars['template_files'][] = "page-node-" . $vars['node']->type . '-edit';
}
if (arg(0) == 'node' && arg(1) == 'add') {
$vars['template_files'][] = "page-node-" . arg(2) . '-edit';
}
}
grazie per la risposta,
il fatto e' che nel tema bluemarine il file template.php il file non esiste.
L'ho copiato da un altro tema e personalizzato la funzione come hai detto, ma niente.
Ho creato un file template nuovo, ma niente.
E' possibile che il tema che utilizzo sia inadatto a fare questo tipo di personalizzazioni ?
ciao
No, essendo un tema basato su phptemplate, dovrebbe funzionare. Ricordati che ogni volta che aggiungi un template nuovo, devi resettare il registro dei temi. Lo fai (se non hai installato Devel o Administration Menu, andando a visitare la pagina dei temi e salvando (anche senza fare modifiche)
non sapevo che fosse necessario questa operazione.
Adesso provo e domani ti faccio sapere....
Anche io ho utilizzato questa soluzione per personalizzare il contentuto di un tipo nodo in fase di edit, ma vorrei fare una precisazione. Utilizzando il tema newswire arg(1) mi ritornava il numero del nodo che ho utilizzato per istanziare l'oggetto $node=node_load(arg(1)) come indicato nella seguente porzione di codice inserita dopo la dichiarazione delle variabili :
$node = node_load(arg(1));
if ((arg(0) == 'node') && (arg(2) == 'edit' )) {
$vars['template_files'][] = 'page-node-' . arg(2) . '-' . $node->type;
}
.