2011-02-03 7 views
12

La cache di Drupal 6 può essere disabilitata, normale o aggressiva. Non riesco a trovare queste opzioni per l'installazione di Drupal 7. C'è solo un pulsante che scarica tutta la cache ma deve essere cliccato per ogni modifica apportata a un modulo oa un modello. Per cambio intendo aggiungere alcuni tag HTML a un modulo o un modello.Come disattivare completamente la cache?

Grazie alla risposta di mirzu, ho già installato il devel module ma non funziona neanche. L'unico modo per farlo è vedere le mie modifiche disabilitando e abilitando il modulo.

Il hello.module assomiglia:

function annotate_menu() { 
    $items = array(); 
    $items['hello'] = array(
    'title'   => t('Hello world'), 
    'page callback' => 'hello_output', 
    'access arguments' => array('access content'), 
); 

    return $items; 
} 

function hello_output() { 
    header('Content-type: text/plain; charset=UTF-8'); 
    header('Content-Disposition: inline'); 
    return 'annotate'; 
} 

Il modello di pagina-hello.tpl.php contiene print $content;.

Accedo alla pagina tramite http://localhost/test/hello.

+1

Definire "modifica", cosa si desidera aggiornare esattamente ?. Alcune cose sono memorizzate nella cache, ma in generale, dovresti essere in grado di cambiare l'interno di una funzione, ad esempio, e dovrebbe aggiornarsi. Stai provando come utente anonimo e il caching delle pagine è abilitato forse? Potrebbe anche aiutare se si pubblica un codice .. – Berdir

+0

Ho aggiunto il codice del mio modulo e del modello. – jdecuyper

+0

E 'possibile disabilitare la maggior parte della cache di Drupal, vedere le risposte su http://drupal.stackexchange.com/questions/28340/completely-turn-off-caching-for-drupal-7 – TwoD

risposta

13

Disattivare completamente la cache e utilizzare devel module e selezionare la casella "Rigenera il registro della cache su ogni caricamento della pagina".

+0

Ho fatto questo ma non lo fa ancora aggiorna qualcosa. Forse dovrei disabilitare completamente la cache? – jdecuyper

+0

Grazie, alla fine, ho dovuto passare a Drupal 6 (per altri motivi) che ti permette di disabilitare la funzionalità cache (all'interno della sezione prestazioni). – jdecuyper

+0

perché drupal non ha un'opzione costruita per disabilitare la cache? –

5

Sono coinvolti diversi livelli di memorizzazione nella cache.

  • Il sistema di menu non è in realtà una cache. Se cambi qualcosa in hook_menu(), devi ricostruirlo. devel.module fornisce un collegamento utile per questo nel blocco di sviluppo.

  • Inoltre, Drupal memorizza nella cache anche l'implementazione dell'hook e molte altre cose, che è possibile cancellare con un altro collegamento nel blocco di sviluppo o se si è installato in drush, con "drush cc all". V'è anche un modo per disattivarlo completamente, ma che potrebbe rendere il vostro sito piuttosto lento: http://drupal.org/node/797346

+1

+1, grazie per aver indicato i diversi tipi di cache gestiti da Drupal. – jdecuyper

0

in Drupal 7, è possibile selezionare l'opzione 'ricostruire il Registro tema su ogni caricamento della pagina' nella configurazione pagina (admin/config/development/devel) del modulo Devel.