7.3. Isključivanje keširanja u Drupalu. Prikaz debug informacija u šablonu.
Pre nego što počnete sa razvojem na Drupalu 8, morate isključiti keširanje. Za razliku od Drupala 7, u verziji 8 se ne keširaju samo entiteti, prikazi i polja, sada se keširaju i kompajlirani twig i render šabloni. Da biste isključili ovo keširanje, potrebno je da uradite sledeće.
1. Kopirajte fajl /sites/example.settings.local.php u /sites/default/settings.local.php
Ovaj fajl već sadrži potrebna podešavanja za isključivanje keša
2. U fajlu settings.php otkomentarišite sledeće linije, time uključujete settings.local.php koji ste kreirali:
if (file_exists(__DIR__ . '/settings.local.php')) {
include __DIR__ . '/settings.local.php';
}
Ovo će omogućiti učitavanje local.settings.php.
3. Proverite da li je ova linija otkomentarisana u settings.local.php:
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
Fajl development.services.yml je već kreiran, potrebno je samo da ga uključite.
4. Takođe proverite da li je u settings.local.php onemogućena agregacija CSS i Javascript fajlova:
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
5. Potrebno je i isključiti keširanje renderovanog HTML-a i keš Dynamic Pages modula:
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';
Pronađite ove linije u settings.local.php i otkomentarišite ih.
6. Da Drupal ne bi učitavao testove iz modula, promenite vrednost ove postavke na FALSE:
$settings['extension_discovery_scan_tests'] = FALSE;
7. Sada u /sites/development.services.yml dodajte sledeći odeljak:
parameters:
twig.config:
debug: true
auto_reload: true
cache: false
Konačno, development.services.yml treba da izgleda ovako:
# Local development services.
#
# To activate this feature, follow the instructions at the top of the
# 'example.settings.local.php' file, which sits next to this file.
services:
cache.backend.null:
class: Drupal\Core\Cache\NullBackendFactory
parameters:
http.response.debug_cacheability_headers: true
twig.config:
debug: true
auto_reload: true
cache: false
Veoma je važno da obratite pažnju na prelome linija i uvlačenja u yml fajlovima, koristite samo 2 razmaka kao uvlačenje, nikako tabove.
debug: true
Ova linija je zadužena za ispisivanje mogućih imena šablona za preklapanje (override) svakog korišćenog šablona na stranici. Ponekad ovo može da pokvari izgled ili izazove grešku u nekim modulima, mada veoma retko. U core-u je ovo veoma korisno za proučavanje strukture šablona u Drupal 8.
8. Nakon toga, potrebno je da obrišete keš, što možete uraditi preko drush-a:
drush cr
Ili pokretanjem skripte na sajtu:
http://yoursite/core/rebuild.php