limite file tpl.php

6 contenuti / 0 new
Ultimo contenuto
limite file tpl.php

Ciao a tutti, nel mio template personalizzato su base bootstrap ho la directory "templates" che contiene 52 files. Sto notando che quando ho aggiunto gli ultimi 4 files, questi non vengono letti e il template del sito non accetta le modifiche effettuate. Invece se le stesse modifiche le scrivo sui file originari, contenuti nella directory del modulo a cui essi appartengono, tutto funziona correttamente.
Perchè? C'è un limite ai file tpl.php che è possibile inserire nella directory "templates"?
Grazie a tutti

Drupal Version:

Meggis (non verificato)
Ritratto di Anonimo

Ciao, i file tpl.php fanno parte della complessissima temizzazione di drupal
il famoso hook_theme() lo uso abitualemente ma la temizzazione del core non l'ho ancora approfondita tanto da capirle a fondo.

Detto questo i file tpl.php sono "chiamati" con questa tecnica:

<?php
/*
* inserire in hook menu
*/
 
$items['portfolio-webdeveloper'] = array(
   
'title' => 'Portfolio',
   
'page callback' => 'MIOMODULO_view_portfolio',
   
'access arguments' => array('administer MIOMODULO'),
   
'type' => MENU_NORMAL_ITEM,
  );
function
MIOMODULO_view_portfolio(){
  return
theme('theme_portfolio');
}
function
MIOMODULO_theme() {
 
$path = drupal_get_path('module', 'MIOMODULO');
  return array(
   
'theme_portfolio' => array(
       
'template' => 'portfolio',   // questo il nome del file tpl.php
       
'path' => $path . '/templates'// questa una cartella del modulo
   
),
  );
}
// a questo punto il file portfolio.tpl.php puo contenere il php/html
?>

Poi ci sono tecniche piu complesse si passaggio di parametri alla funzione, spero che come esempio si capisca.

Grazie meggis per la risposta. Cercherò di spiegarmi meglio, fino ad ora ho utilizzato devel theme ed ho copiato i file tpl.php, presenti all'interno del singolo modulo, che mi venoivano mostrati di volta in volta all'interno della directory templates del mio tema. Ora, per la prima volta, vedo che questi non vengono più visti e sono costrotto a modificare i file tpl.php direttamente all'interno del singolo modulo e questo comporta molti problemi in caso di aggiornamento dei moduli.

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

Meggis (non verificato)
Ritratto di Anonimo

Oh, sai che è adesso che non ho proprio capito!
devel theme.. boostrap theme... copi all'interno del singolo modulo? "la prima volta" / "di volta in volta"...
Ma qual'è la domanda?

Sorry cerchero di essere chiaro. Io fino ad ora, quando dovevo modificare qualche file di template (.tpl.php) lo individuavo tramite il modulo "devel theme" lo prendevo dalla directory del modulo e lo copiavo nella directory "templates" del mio sub-theme (in questo caso il mio sub-theme è basato su theme bootstrap) e qui lo modificavo. Sto personalizzando la grafica di un forum basato sul modulo "Advanced forum" e se copiò i file tpl.php che mi interessano di quel modulo nella directory templates e li modifico, le variazioni non vengono caricate e sono costretto a modificare i file direttamnete all'interno della directory del modulo. Volevo sapere se c'era qualche limite al numero di file tpl.php che si possono copiare all'interno della distectory "templates" oppure sapere come mai questi file non vengono più considerati?

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

Meggis (non verificato)
Ritratto di Anonimo

Guarda nextpic, quello che posso dirti, che spero ti possa essere utile a capire la logica, è come i file tpl vengono letti.

Guarda alla riga 51 function _bootstrap_theme() del file registry.inc del tema bootstrap, troverai un array multidimensionale di cui riporto per la spiegazione:

<?php
....
'bootstrap_modal' => array(
     
'variables' => array(
       
'heading' => '',
       
'body' => '',
       
'footer' => '',
       
'attributes' => array(),
       
'html_heading' => FALSE,
      ),
    ),
....
?>

Bene la chiave bootstrap_modal di questo array richiama il file bootstrap\theme\bootstrap\bootstrap-modal.tpl.php
Quindi puoi usare questa tecnica per gestire ulteriori file tpl

Risposta: non non c'è un limite per i tpl, basta che siano dichiarati nell'hook theme