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:
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.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