Codice CSS

8 contenuti / 0 new
Ultimo contenuto
Codice CSS

Salve a tutti! Sto sviluppando un tema per drupal ma avrei un dubbio. Nel file html.tpl.php ho stampato la variabile $styles. Tale variabile, vedendo il codice generato, ho visto che inserisce oltre ai miei file css tantissimi altri fogli di stile. Vorrei sapere a cosa servono tali fogli di stile e se fosse possibile, nel caso siano inutili, evitare che vengano stampati. Aggiungo che il tema che sto sviluppando lo sto facendo proprio da 0.
Ciao!

Saranno quelli dei moduli del core e dei moduli aggiuntivi.

Si in effetti il percorso riporta proprio ai moduli aggiuntivi. Ma a cosa servirebbero visto che la grafica la sto facendo io da 0? Eventualmente potrei modificare la variabile styles?

Servono a far lavorare bene i moduli. I css dei moduli si interfacciano con quelli del tema o con i tuoi se la grafica è tua. I css di un editor wysiwyg, ad esempio, intercettano la formattazione della pagina, quelli di aggregator formattano un titolo o un teaser, ecc... La domanda comunque ritengo sia molto intelligente, in quanto, effettivamente, nella maggioranza dei casi, gran parte del css che ci viene dai moduli, non è effettivamente utilizzata. Questo si traduce in una maggiore occupazione di memoria della pagina ed uno spreco di risorse. Ma penso che per ottimizzare il css, non bisognerebbe modificare la variabile styles, ma intervenire proprio nel css del modulo. Dovremmo essere veramente molto bravi, ma io non lo sono.

giovanninews wrote:
Servono a far lavorare bene i moduli. I css dei moduli si interfacciano con quelli del tema o con i tuoi se la grafica è tua. I css di un editor wysiwyg, ad esempio, intercettano la formattazione della pagina, quelli di aggregator formattano un titolo o un teaser, ecc... La domanda comunque ritengo sia molto intelligente, in quanto, effettivamente, nella maggioranza dei casi, gran parte del css che ci viene dai moduli, non è effettivamente utilizzata. Questo si traduce in una maggiore occupazione di memoria della pagina ed uno spreco di risorse. Ma penso che per ottimizzare il css, non bisognerebbe modificare la variabile styles, ma intervenire proprio nel css del modulo. Dovremmo essere veramente molto bravi, ma io non lo sono.

Se vuoi escludere tutti i fogli di stile di default (anche se non ne vedo il motivo visto che ti fanno risparmiare un po' di lavoro), basta che aggiungi in template.php:

function NOMETEMA_css_alter(&$css) {
  unset($css[drupal_get_path('module', 'aggregator') . '/aggregator.css']);
  unset($css[drupal_get_path('module', 'block') . '/block.css']);
  unset($css[drupal_get_path('module', 'book') . '/book.css']);
  unset($css[drupal_get_path('module', 'comment') . '/comment.css']);
  unset($css[drupal_get_path('module', 'field') . '/theme/field.css']);
  unset($css[drupal_get_path('module', 'filter') . '/filter.css']);
  unset($css[drupal_get_path('module', 'forum') . '/forum.css']);
  unset($css[drupal_get_path('module', 'node') . '/node.css']);
  unset($css[drupal_get_path('module', 'openid') . '/openid.css']);
  unset($css[drupal_get_path('module', 'poll') . '/poll.css']);
  unset($css[drupal_get_path('module', 'search') . '/search.css']);
  unset($css[drupal_get_path('module', 'system') . '/system.css']);
  unset($css[drupal_get_path('module', 'system') . '/system.base.css']);
  unset($css[drupal_get_path('module', 'system') . '/system.behavior.css']);
  unset($css[drupal_get_path('module', 'system') . '/system.theme.css']);
  unset($css[drupal_get_path('module', 'system') . '/system.menus.css']);
  unset($css[drupal_get_path('module', 'system') . '/system.messages.css']);
  unset($css[drupal_get_path('module', 'user') . '/user.css']);
  unset($css[drupal_get_path('module', 'user') . '/user-rtl.css']);
  unset($css['misc/vertical-tabs.css']);
  unset($css['misc/vertical-tabs-rtl.css']);
}

Mi fanno risparmiare un po' di lavoro in che senso? Che potrei modificare l'aspetto grafico nei css dei moduli stessi? Anche perché sto scoprendo che molte variabili includono css, come la $breadcrumb. C'è un modo di evitare questo codice che Drupal mi fornisce oppure vado a modificare i css dei moduli stessi? Drupal 6 se non sbaglio non fornisca tutto questo codice...
Ciao!

Diciamo che hai già una serie di classi ed id i cui attributi sono già scritti. In linea generale vanno bene e quindi non ha senso riscriverli da capo, semmai fai l'override di quei pochi che non ti piacciono dal css del tuo tema.

Per quanto riguarda il theming, drupal 6 e Drupal 7 sono molto simili.