Passare le variabili presenti in page.tpl.php in node-[my_content].tpl.php

3 contenuti / 0 new
Ultimo contenuto
Passare le variabili presenti in page.tpl.php in node-[my_content].tpl.php

Ciao a tutti, ho creato un sub-thema di Zen e ho creato un nodo personalizzato per alcuni miei contenuti creati con cck e uno di questi nodi, per esempio, l'ho chiamato node-news.tpl.php. Successivamente con questa funzione inserita nel mio template.php:

function miosito_preprocess_page(&$vars, $hook) {
  $node_path = explode('/', $_GET['q']);
  if($node_path[0] == 'node' && count($node_path) == 2) {
    $sql = "SELECT type FROM {node} WHERE nid=%d";
    $query = db_query($sql, $node_path[1]);
    $type = db_result($query);
    if($type == 'news') {
      $vars['template_files'][] = 'page-news';
    }
  }
}

tramite il file page-news.tpl.php e node-news.tpl.php gestisco il template della pagina delle news del mio sito. Ora mi servirebbe avere i tabs ($tabs) non in page (da cui li dovrò cancellare) ma in node, quindi devo passare le variabili o anche solo la variabile $tabs da page a node. Come posso fare?
Grazie mille

Potresti ricrearteli a mano, tipo come in questo esempio:
http://www.jessenicola.com/blog/drupal-6-tabs-nodetplphp

Grazie mille, ho risolto con questa funzioe, la posto per chi può avere la stessa mia esigenza:

function miosito_preprocess_node(&$vars) {
$vars['tabs'] = theme('menu_local_tasks');
}
function miosito_preprocess_page(&$vars) {
    if ($vars['node']->type != "" && arg(2)!='edit' && arg(1) !='add') {
    $vars['template_files'][] = "page-node-" . $vars['node']->type;
  }
}

da aggiungere a template.php.

Il duro lavoro fatto con passione, ripaga sempre!!!!