web-dev-qa-db-ja.com

hook_preprocessテーマを使用して段落バンドルにライブラリを追加するにはどうすればよいですか?

特定の段落バンドルにライブラリを追加したかった。私はtwigを使用して{{ attach_library('my_theme/my-library-name') }}を実行できることを知っていますが、それは、バンドルごとにファイルを作成する必要があることを意味します。目標は、my_theme.themeファイルだけを使用してライブラリを追加できるようにすることです。

質問

Hook_preprocess_themeを使用して段落バンドルにライブラリを追加するにはどうすればよいですか?

これが私たちが試したものですが、キャッシュをクリアした後でも機能しませんでした。

function mytheme_preprocess_paragraphs(&$variables) {
  $elements = $variables['elements'];
  $paragraph = $elements['#paragraph'];
  if(isset($paragraph) {
    $paragraph_bundle = $paragraph->getParagraphType()->id();
    switch($paragraph_bundle) {
      case 'my_bundle':
        $variables['elements']['#attached']['library'][] = 'my_theme/my-library-name';
        break;
    }
  }
}
1
usernameabc

代わりにこのようにする必要があります:

$variables['#attached']['library'][] = 'my_theme/my-library-name';

そのため、代わりにライブラリを直接$variablesにアタッチします。

4
user72672