it-swarm.com.de

Enable Twig Debug funktioniert nicht?

Warum funktioniert das Debugging Twig=) nicht auf meiner Drupal 8.2.6-Site)?

Dies ist die Ordnerstruktur.

(File structure

Dies sind die Ordnerberechtigungen.

(Folder permissions

Dies ist der Inhalt der Datei settings.php.

$settings['hash_salt'] = 'DEVELOPMENT_SALT';
$settings['update_free_access'] = FALSE;
$settings['file_public_base_url'] = 'http://localhost/files';
$settings['file_public_path'] = 'sites/default/files';
$settings['file_private_path'] = 'sites/default/private';
$settings['file_scan_ignore_directories'] = [
  'node_modules',
  'bower_components',
];
if (file_exists(__DIR__ . '/../development/settings.development.php'))     {
  include __DIR__ . '/../development/settings.development.php';
}

Hier füge ich /../development/settings.development.php hinzu.

assert_options(ASSERT_ACTIVE, TRUE);
\Drupal\Component\Assertion\Handle::register();

/**
 * Enable local development services.
 */
$settings['container_yamls'][] = __DIR__ . '/development.services.yml';

$databases['default']['default'] = array(
  'database' => 'dbname',
  'username' => 'dbusername',
  'password' => 'pw',
  'prefix' => '',
  'Host' => '127.0.0.1',
  'port' => '3306',
  'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
  'driver' => 'mysql',
);

$settings['hash_salt'] = 'DEVELOPMENT';

$config['system.logging']['error_level'] = 'verbose';
$config['system.performance']['css']['preprocess'] = FALSE;
$config['system.performance']['js']['preprocess'] = FALSE;
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] =     'cache.backend.null';
$settings['extension_discovery_scan_tests'] = TRUE;
$settings['rebuild_access'] = TRUE;
$settings['skip_permissions_hardening'] = TRUE;

Hier füge ich auch development.services.yml hinzu.

parameters:
  http.response.debug_cacheability_headers: true
  twig.config:
    debug: true
    auto_reload: true
    cache: false
services:
  cache.backend.null:
    class: Drupal\Core\Cache\NullBackendFactory

Dinge, die ich überprüft/getan habe:

  • Überprüft, ob alle diese Dateien geladen sind -> Sie sind
  • Überprüfte den Einzug der Datei development.services.yml -> Checkt aus
  • Alle verschiedenen Caches gelöscht, neu erstellt usw. -> Wenn ich eine Vorlage ändere, ändert sich diese, aber kein Twig Debugging

sites/default/files AND sites/default/private werden von Drupal nicht verwendet.

3
user3634184

Versuchen Sie, Ihre development.services.yml zu folgen. Das funktioniert bei mir richtig (ich hoffe, es funktioniert auch bei Ihnen).

services:
  cache.backend.null:
    class: Drupal\Core\Cache\NullBackendFactory

# Enable Twig debugging.
parameters:
 twig.config:
   debug: true
   auto_reload: true
   cache: false

auch dieser Artikel über das Einrichten des Debuggens auf Drupal 8 ist sehr gut für zukünftige Besucher dieser Frage.

2
Yusef

Dienste sollten vor Parametern stehen ... auch ... Wenn Sie nicht alle 'Dinge' aktivieren möchten, die Sie in settings.local.php haben, können Sie einfach hinzufügen ... $settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
am Ende Ihrer settings.php-Datei, um twig debug nach dem Hinzufügen der Parameter zu development.services.yml zu aktivieren.

Ich benutze sowohl dieses als auch ...

if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) {
   include $app_root . '/' . $site_path . '/settings.local.php';

Das eine oder andere auskommentieren, je nachdem, was ich brauche.

1
Jim

Es scheint, dass alles korrekt ist und ich denke, Sie vergessen einfach, die Option "Kommentare anzeigen" in Ihrem Browser zu aktivieren.

(enter image description here

0
Yusef