Homepage diversa dalle altre pagine

8 contenuti / 0 new
Ultimo contenuto
Homepage diversa dalle altre pagine

Salve a tutti.

Sto realizzando il mio primo sito web con Drupal anche se ho alle spalle diverse esperienze con Joomla, wordpress ed i relativi template.
Logicamente mastico un po' di php.

Vorrei fare in modo che la home del sito compaia diversa dalle altre pagine, quindi vorrei strutturarla con blocchi e regioni (regions) che nelle altre pagine non ci saranno.

Mi chiedevo come posso fare... Su Joomla ad esempio basta creare dei moduli nuovi (che in drupal si chiamano blocchi) e richiamarli nel file template mentre su wordpress si va di codice nella pagina index.php.

Quindi devo creare una nuova pagina tlp?

Ma come devo chiamarla? e come la associo alla home?

Grazie in anticipo per le risposte.

Davide

Ciao, ti consiglio di dare un'occhiata a Omega(tema), Delta(modulo) e Context(modulo) che ti consentono di fare ciò che ti interessa.

Oppure puoi aggiungere queste funzioni al file template.php del tuo tema (se non c'è lo crei)

<?php
function greenexpanse_preprocess_node(&$vars, $hook) {
 
$node = $vars['node'];
 
$vars['template_file'] = 'node-'. $node->nid;
  if (!empty(
$node)) {
        
drupal_add_css(path_to_theme(). "/css/style-node-".$node->nid.".css", "theme");
  }
}
function
greenexpanse_preprocess_page(&$vars) {
    if (
$vars['node']->type != "" && arg(2)!='edit' && arg(1) !='add' && arg(2) !='delete') {
     
$vars['template_files'][] = "page-node-" . $vars['node']->type;
    }
    if (
arg(0) == 'admin'){
     
$vars['template_file'] = 'page-admin';
    }
    if (
drupal_is_front_page()) {
     
$vars['template_file'] = 'page-front';
    }
}
?>

Queste funzioni stanno ad indicare che possono trovare i file personalizzati nel tuo tema:
page-admin.tpl.php
page-front.tpl.php
page-node-blog.tpl.php
page-node-forum.tpl.php
node-1.tpl.php
node-2.tpl.php
/css/style-node-1.css
/css/style-node-2.css

....e così via in base alle personalizzazioni.
PS: greenexpanse è il nome del mio tema, tu mi raccomando metti il nome del tuo!!

Ci sono diversi modi per ottenere una home "personalizzata".
Prima di tutto pero' devi specificare qual'è la tua homepage.
Se hai drupal 6 sotto admin/settings/site-information troverai un campo di testo dove specificarla indicando il percorso (node/node-id o url relativo)
Se stai usando drupal 7 trovi la stessa cosa sotto admin/config/system/site-information
La tua homepage potrebbe essere un nodo qualsiasi o il risultato di una vista, dipende da te.
Per personalizzare poi quella pagina puoi investigare come suggerito la combinazione Omega,Delta e Context o specificare un file template specifico per la home. anche qui dipende se sei su drupal 6 o 7

Io uso il template Arthemia su Drupal 6.

La prima pagina predefinita mi risulta /node

come faccio a "specificare un file template specifico per la home" ?

page-front.tpl.php

Ho trovato questo:
http://mydrupalblog.lhmdesign.com/creating-custom-regions-drupal-6-themes

Ho fatto una prova e funziona, secondo voi se mi creo le regioni che mi servono e imposto la visualizzazione solo in home puo' andar bene?

Ciao, devi creare le regioni per la pagina "front" e per le pagine interne. E poi nei blocchi setti dove il singolo blocco deve comparire (sia la regione che il percorso). Ricordati il percorso!!!

M.

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