CSS differenti in base al tipo di contenuto

9 contenuti / 0 new
Ultimo contenuto
CSS differenti in base al tipo di contenuto

Ciao,

in Drupal 6 usavo dei fogli di stile differenti in base al tipo di contenuto esiste un modo per farlo anche in Drupal 7?

E come lo facevi in d6?

Nel file template.php inserivo le seguenti righe di codice:

<?php
function sakura_preprocess_page(&$vars){
  if ((
arg(0) == 'forum') || (isset($vars['node']) && $vars['node']->type == 'forum')) {
   
$css = '/' . path_to_theme() . '/css/forum.css';
   
$vars['styles'] .= '<link type="text/css" rel="stylesheet" href="' . $css . '" />';
  }
  else if ((
arg(0) == 'blog') || (isset($vars['node']) && $vars['node']->type == 'blog')) {
   
$css = '/' . path_to_theme() . '/css/blog.css';
   
$vars['styles'] .= '<link type="text/css" rel="stylesheet" href="' . $css . '" />';
  }
  else if ((
arg(0) == 'image') || (isset($vars['node']) && $vars['node']->type == 'image')) {
   
$css = '/' . path_to_theme() . '/css/gallery.css';
   
$vars['styles'] .= '<link type="text/css" rel="stylesheet" href="' . $css . '" />';
  }
}
?>

4Però mi hanno suggerito di fare così in un forum io non so programmare in php quindi non so trasformarlo usando le variabili di Drupal 7.

A prima vista mi sembra che funzioni, lo hai già provato, da errori?

Funzionava con drupal 6 con drupal 7 non funziona

Ricontrolla, perché mi pare che le funzioni "preprocess" siano cambiate significativamente da D6 e D7

attenzione perché in D7 il page viene eseguito all'interno del html, quindi la funzione da andare ad usare per il processing dell'informazione relativa a CSS e JS è nel template_preprocess_html().

Trasformare il tuo codice dovrebbe essere banale, se serve facci sapere (nel link di cui sopra c'è un esempio molto semplice, se fai qualche prova vedrai che ne uscirai da sola e sopratutto avrai imparato qualche cosa ;) ).

Ciao
Marco
--
My blog
Working at @agavee

Ciao,

grazie per aver risposto ho provato così ma non funzione:

<?php
function sakura_preprocess_html(&$vars) {
if ((
arg(0) == 'photo') || (isset($vars['node']) && $vars['node']->type == 'photo')) {
   
$css = '/' . path_to_theme() . '/css/photo.css';
   
$vars['styles'] .= '<link type="text/css" rel="stylesheet" href="' . $css . '" />';
  }
}
?>

Purtroppo non so niente di PHP ma forse usando drupal sarebbe il caso di imparare

Riapro la discussione dopo tanto tempo. In questo modo mi definisce un foglio di stile aggiuntivo per la home del forum il problema è che non lo applica anche a tutti i contenuti di quel tipo

<?php
function nippon_preprocess_page(&$variables) {
  if ((
arg(0) == 'forum') || (isset($vars['node']) && $vars['node']->type == 'forum')) {
   
drupal_add_css(path_to_theme() . '/css/forum.css','theme','all');
  }
}
?>