Node background

4 contenuti / 0 new
Ultimo contenuto
Node background

Qualcuno per caso conosce un modulo che permetta di personalizzare lo sfondo di specifici nodi?
Lo so che è una cosa fattibile manualmente via css ma sarebbe interessante qualcosa che sveltisca il lavoro.

Dipende dalla specificità, ovviamente. Vediamo:

  • Sfondo per tipo di contenuto: template node-tipo_di_contenuto.tpl.php, o più semplicemente template.php, MIOTEMA_preprocess_page, elaborando $node->type
  • Sfondo per tassonomia o percorso: modulo Context (aggiungi una classe che vuoi tu)
  • Sfondo secondo il temperamento del cliente: un campo CCK*

Avendo appena preparato un 'sistema' per un cliente che vuoleva:

  1. Definire l'icona del titolo
  2. Definire lo sfondo della pagina (leggi nodo)
  3. Definire un immagine per il sidebar

ho risolto cosi:
Creare tre nodi (con attach) per ogni elemento, icona, sfondo, immagine
Creare tre campi CCK text select,
Per ogni campo CCK, leggere i files del nodo giusto come selezione, esempio:

/**
* Gets the list of all icons.
*
* @return the list of icons.
*/
function MIOMODULO_get_icons() {
  $icons = array();
  $icons['<none>'] = '"none"';
  // http://api.drupal.org/api/function/file_directory_path/6
  $path = file_directory_path() .'/immagini/1942'; // il nodo iconi
  // http://api.drupal.org/api/function/file_scan_directory/6
  $files = file_scan_directory($path, '.*\.(gif|jpg|png)$');
  foreach ($files as $key => $value) {
    $icons[$value->basename] = $value->basename;
  }
  asort($icons);
//print('<pre>'. check_plain(print_r($icons, TRUE)) .'</pre>');
  return $icons;
}

Modificare page.tpl.php e node.tpl.php per leggere questi campi, e scrivere il HTML giusto per aggiungere gli iconi, sfondo ed immagini.
Per i views (e si, vuoleva iconi, sfondi e immagini anche li) ho usato codice sempre in template.php.

Non era per niente svelto, ma flessibile si (se escludi i views) ...
Sta ancora cambiando tutto, iconi, sfondi, immagini, giorno per giorno, ma almeno e lui, non io...

HTH

John

Più imparo, più dubito.

Grazie ad entrambi :)
Credo opterò per la cosa più semplice e veloce quindi un semplice div a cui mettere uno sfondo. Devo fare 5-6 nodi con uno sfondo ed un testo per creare dei banner a rotazione che elaborerò con una vista, visto che tanto ci metterò le mani solo io...