web-dev-qa-db-ja.com

Twig開発のためのキャッシングを本当に無効にするにはどうすればよいですか?

私は これらの指示 に従って、Twigキャッシングを無効にします:

  1. Sites/example.settings.local.phpをコピーして名前を変更し、sites/default/settings.local.phpに変更します。

    $ cp sites/example.settings.local.php sites/default/settings.local.php
    
  2. Sites/defaultでsettings.phpファイルを開き、次の行のコメントを外します。

     if (file_exists(__DIR__ . '/settings.local.php')) {    
       include __DIR__ . '/settings.local.php';  
     }
    

    これには、Drupalの設定ファイルの一部としてローカル設定ファイルが含まれます。

  3. Settings.local.phpを開き、TRUEに変更します

    $config['system.performance']['css']['preprocess'] = FALSE;
    $config['system.performance']['js']['preprocess'] = FALSE;
    
  4. レンダリングキャッシュを無効にし、動的ページキャッシュを無効にするには、これらの行のsettings.local.phpのコメントを外します

    $settings['cache']['bins']['render'] = 'cache.backend.null';
    $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null'; 
    

    テストモジュールとテーマをインストールしない場合は、以下をFALSEに設定します

    $settings['extension_discovery_scan_tests'] = TRUE;
    
  5. サイトフォルダーのdevelopment.services.ymlを開き、次のブロックを追加します(twigキャッシュを無効にするため)

    parameters:   
      twig.config:
        debug : true
        auto_reload: true
        cache: false
    

私はダブルチェックとトリプルチェックを行い、すべての変更が上記に従って正しく適用されています。しかし、何も変更されていません。テンプレートファイルに変更を加えるたびに、それをフロントエンドに表示するためにキャッシュを再構築する必要があります。

したがって、Twigのストックインストールでのキャッシングを無効にする正しい手順は何ですか?Drupal 8.0.1、contribまたはカスタムモジュールがインストールされていない場合)?

7
Clive

自動リロードはnullにする必要があります。デバッグを有効にすると、twigコンパイルが切り替わります。

auto_reload: null

twigデバッグを有効にする最も簡単な方法は、default.services.ymlservices.ymlにコピーし、debug: truecache: falseを設定することです

これを確認できます。コンパイル済みの小枝を見ると、twigデバッグをオンにすると、このディレクトリが存在しなくなります。

/sites/default/files/php/twig
1
4k4
  1. Sites/example.settings.local.phpをコピーして名前を変更し、sites/default/settings.local.phpに変更します。

    $ cp sites/example.settings.local.php sites/default/settings.local.php
    
  2. Sites/defaultでsettings.phpファイルを開き、次の行のコメントを外します。

     if (file_exists(__DIR__ . '/settings.local.php')) {    
       include __DIR__ . '/settings.local.php';  
     }
    

    これには、Drupalの設定ファイルの一部としてローカル設定ファイルが含まれます。

  3. Settings.local.phpを開き、TRUEに変更します

    $config['system.performance']['css']['preprocess'] = FALSE;
    $config['system.performance']['js']['preprocess'] = FALSE;
    
  4. レンダリングキャッシュを無効にし、動的ページキャッシュを無効にするには、これらの行のsettings.local.phpのコメントを外します

    $settings['cache']['bins']['render'] = 'cache.backend.null';
    $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null'; 
    

    テストモジュールとテーマをインストールしない場合は、以下をFALSEに設定します

    $settings['extension_discovery_scan_tests'] = TRUE;
    
  5. サイトフォルダーのdevelopment.services.ymlを開き、次のブロックを追加します(twigキャッシュを無効にするため)

    parameters:   
      twig.config:
        debug : true
        auto_reload: true
        cache: false
    

これらの手順を完了したら、settings.phpにこの2行を追加して、キャッシュをクリアします。

$ settings ['container_yamls'] [] = DRUPAL_ROOT。 '/sites/development.services.yml';

$ settings ['container_yamls'] [] = DRUPAL_ROOT。 '/sites/development.services.yml';

それは私の同僚のために働いた。それがあなたのために働くことを願っています。

0
Vamsi