Chiarimento sulla creazione di tema per tipo contenuto D7

4 contenuti / 0 new
Ultimo contenuto
Chiarimento sulla creazione di tema per tipo contenuto D7

e' la prima volta che mi capita di dovere creare un tema per un tipo di contenuto .... e non sono sicuro di avere capito bene:

1-per visualizzare un tipo di contenuto a "modomio" devo creare un node--modomio.tpl.php ... corretto?
2-per visualizzare un elemento del tipo di contenuto a "modomio" devo creare un field--field_modomio.tpl.php ... corretto?

Dove posso trovare una guida per tutti gli elementi usati in field.tpl.php? non riesco infatti a "centare" le label dei field. Idem per node ... dove il codice sotto non mi visualizza "field_descri" e non so il perchè.

<div id="node-<?php print $node->nid; ?>" class="<?php print $classes; ?> clearfix">
  <div class="content"<?php
     
print render($content['field_scheda_img']);
      print
render($content['field_descri']);
     print
render($content['field_scheda']);
      
?>

    <?php
     
// We hide the comments and links now so that we can render them later.
     
hide($content['comments']);
     
hide($content['links']);
     
hide($content['field-label']);
   
?>

  </div>
</div>

Ciao,
da qui http://drupal.org/node/1089656 trovi tutte le template suggestions che ti servono. Sia per node che per field, puoi copiare i relativi tpl che trovi rispettivamente in modules/node e modules/field/theme.
Ricordati che se aggiungi un template per un tipo di nodo devi prima pulire la cache di Drupal altrimenti non lo vede.
;)

Ciao,
1 e 2 corrette (http://drupal.org/node/1089656).

Io, per trovare gli elementi messi a disposizione dal node.tpl.php (o field.tpl.php), solitamente provo con:

  • un print_r($content);(o se usi il devel module prora con un dpm,drp o qualcosa di simile). Così puoi capire se il 'field_descri' è definito e come accedervi.
  • o sbirciando dentro al node.tpl.php del tema che uso.

Ciao.

grazie ad entrambe ...
@iep ho usato dpm ma mi viene un mare di info e non so da che parte pescare ..... credo dipenda da fusion theme e dal sistema grid .....

ho quindi usato come suggerito print_r($content['field_descri']) ..... mi esce questo errore: Warning: include(/home/miosito/node--schedepro.tpl.php): failed to open stream: No such file or directory in theme_render_template() (linea 1382 di /home/miosito/includes/theme.inc).

a quella riga del theme.inc c'è questa funzione:

function theme_render_template($template_file, $variables) {
  extract($variables, EXTR_SKIP);               // Extract the variables to a local namespace
  ob_start();                                   // Start output buffering
  include DRUPAL_ROOT . '/' . $template_file;   // Include the template file
  return ob_get_clean();                        // End buffering and return its contents
}

Cosa significa che devo copiare theme anche nel mio sub tema (dove invece ho solo page e pagefront) o che devo indicare a theme il mio field e quindi creare il file realtivo (field--xx.tpl.php)?

scusate ma gli errori sono due ecco il secondo:

Warning: include(): Failed opening '/home/miosito/sites/all/themes/GFX2/node--schedepro.tpl.php' for inclusion (include_path='.:/usr/share/obm/www') in theme_render_template() (linea 1382 di /home/miosito/includes/theme.inc).

nevengofuori