template modificato
ciao a tutti sto facendo un sito che deve essere gestito da drupal, mi hanno chiesto un template un pò particolare e quindi ho preso un template gratuito di drupal e l'ho modificato io con html e css. il template si riconosce in drupal ma non mi da la possibilità di gestire il menu e quindi tutte le pagine relative il codice del menu è un semplice html come:
purtroppo non ho ancora ben capito il meccanismo in drupal ed in pratica ho i file:page.tpl.php,
page-node.tpl.php,
page-node-add.tpl.php,
page-blog.tpl.php
tutte con lo stesso codice....
scusate ma sono alle prime armi...vi ringrazio

Theming menù ...
Ciao, quale menù ti occorre modificare/gestire? Ad esempio se ti occorre modificare i link primari (in drupal.it sono quelli più in alto nella pagina) puoi aggiungere la funzione theme_primary_links al tuo template.php.
Ci sono molti metodi, più o meno difficili, dipende da quello che vuoi fare: puoi postare qualche info in più?
menù orizzontale
Si in pratica il menù è orizzontale in alto a sinistra, nel quale ci saranno le pagine principali del sito.in pratica è un menù tipo quello di questa pagina ma anzichè li in alto è sotto il logo. il sito non è molto complesso poichè sostanzialmente è un sito vetrina, quindi preferisco cose molto semplici. le voci di menù non hanno sottolinks.
grazie mille per la disponbilità!!
Menù semplice
Se desideri qualcosa di molto semplice puoi ottenerlo direttamente modificando il CSS del tema. Devi avere solo una classe o, meglio, un identificatore CSS che ti permetta di selezionare gli elementi del menù: di solito il menù viene "racchiuso" in tag che hanno già degli attributi come una classe o un identificatore CSS ben preciso (i.e. "navigation" o altro). Puoi verificarlo guardando il codice sorgente della pagina dal tuo browser.
Se così non fosse, nel tuo page.tpl.php cerca la variabile $primary_links. Lì vicino dovresti trovare una porzione di codice del tipo:
<?php
print theme('links', $primary_links);
?>
o qualcosa del genere. Cambiandolo ad esempio in:
<?php
print theme('links', $primary_links, array('id' => 'navlist'));
?>
avrai un menù racchiuso in:
<ul id="navlist">...</ul>a questo punto ti basta modificare il CSS aggiungendo ad esempio
#navlist{padding: 5px;
}
#navlist li{
list-style-type:none;
display:inline;
border:1px solid #bababa;
background-color:#cbcbcb;
padding: 1px 5px;
margin: 2px;
list-style-position: inside;
}
Se non ti è chiaro qualcosa, fammi sapere.
ti ringrazio provo subito e
ti ringrazio provo subito e ti faccio sapere!!
grazieeee
ottimo funzionaaa!!! grazie mille
come modificared singole pagine del menù
Un altra domanda....una volta che il menu funziona, io dovrei vedere per ogni pagina una forma diversa, nel senso:menù,logo e grafica identica per ogni pagina del menù; ma i contenuti devono essere diversi.Come lo modifico il codice di quelle pagine?quello della home si trova nel file page.tpl.php e page-node.tpl.php e quello delle altre pagine???
Template disponibili
Puoi utilizzare
page-front.tpl.php
per homepage e poi:
page-node-[id-del-nodo].tpl.php
per tutti gli altri nodi
Con questi template puoi temizzare l'intera pagina: se ti occorre intervenire solo nel contenuto (cioè il nodo vero e proprio) puoi anche aggiungere al template.php del tuo tema la funzione:
<?phpfunction [nome_tema]_preprocess_node(&$vars, $hook) {
$nodo = $vars['node'];
$vars['template_file'] = 'node-'. $nodo->nid;
}
?>
In questo modo avrai a disposizione questo template da editare per ogni nodo:
node-[id-del-nodo].tpl.php
in cui potrai controllare solo la porzione di contenuto della pagina.
In questo modo se dovrai modificare qualcosa nel menù o nel resto della pagina in futuro non avrai bisogno di modificare tanti file quanti nodi hai nel sito.
scusa se rispondo con tutto
scusa se rispondo con tutto questo ritardo, quindi dove c'è nome-tema devo inserire il nome del mio template o il codice php rimane così invariato? perchè ho fatto un pò di prove ad inserirlo nel file template.php ma mi da errore;o meglio se poi vado in blocchi mi dice che c'è un errore esattamente alla riga dove ho inserito questo codice. poi il file page-node-[id-del-nodo].tpl.php li devo creare io o si creeranno in automatico con l'implementazione di questo codice php?
grazie mille ancora
Forse ho messo un pò troppe
Forse ho messo un pò troppe cose in un unico post. Ti spiego meglio: se vuoi utilizzare il template page-node-[id-del-nodo].tpl.php non devi modificare nulla nel tuo template.php. Basta che crei un file (devi crearlo tu) ad esempio:
page-node-3.tpl.php per il nodo 3 (node/3)
puoi prendere come base il page.tpl.php copiarlo e rinominarlo in questo modo, poi procedi a modificare quello che ti serve.
Se invece vuoi utilizzare il template node-[id-del-nodo].tpl.php allora devi modificare il file template.php aggiungendo la funzione postate in fondo al file, mettendo il nome del tema al posto di [nome_tema]. Ad esempio su usi il tema bluemarine il nome sarà bluemarine_preprocess_node. In seguito a ciò potrai creare file del tipo:
node-3.tpl.php per il nodo 3 (node/3)
e temizzare solamente "il contenuto" del tuo nodo e non l'intera pagina.
Problemi con nodi
Ciaooo intanto volevo ringraziarti tantissimo per la tua disponibilità...poi ho scelto il primo modo, quindi mi creo io dei file page-node-3.tpl.php.... ma non ho ben capito come accedere ai singoli nodi.per esempio per la pagina prodotti ho il nodo-3. ma come ci accede attraverso l'impostazione del menù??
grazie ancora
Menù e Nodi
Correggimi se sbaglio: in pratica vuoi "legare" il tuo nodo ad una voce del menù principale?
Se è così puoi utilizzare le "Impostazioni del menù" proprio sotto il campo "Titolo" nella pagina di modifica dei nodi: scegli un titolo per la voce di menù, la "voce padre" (nel tuo caso dovrebbe essere "<Links primari>") e il peso (le voci più pesanti si posizionano più in basso o più a destra a seconda del tipo di menù). Salvi il tutto e ti ritrovi con un nuova voce nel menù principale che punta al tuo nodo.
grazie
Grazie mille funziona tutto!!!