テーマフォルダーにある画像のURLを取得する方法はありますか?または、テーマフォルダーのURLを取得しますか?
drupal_get_path()
を使用して、テーマフォルダーへのパスを取得できます。
_$path = drupal_get_path('theme', 'name_of_theme');
_
そこから、次のように特定のファイルを指定できます。
_$image_path = $path . '/images/image.jpg';
_
path_to_theme()
を使用することもできますが、このコンテキストからの戻り値は、呼び出されたコンテキストに応じて変化する可能性があるため、注意が必要です。
アクティブなテーマまたはテーマ別の実装を処理するモジュールを指すことができます。たとえば、テーマ呼び出しのスコープ内で呼び出された場合、テーマ関数が処理される場所によって異なります。モジュールから実装されている場合は、モジュールを指します。アクティブなテーマから実装された場合、アクティブなテーマを指します。テーマ呼び出しの範囲外で呼び出されると、常にアクティブなテーマを指します。
$imgurl = file_create_url(path_to_theme().'/images/blah.png');
説明:このコード行は、path_to_theme()を使用してテーマへのパスを取得し、次にfile_create_url()を使用してファイルのURLを作成し、テーマフォルダーにある画像のURLを取得します。オペレーションの要求に応じて)
私はそれを説明しないことへの反対票を得たので、あなたはそこにいます:-)
それも、受け入れられた回答と同じですが、より完全にするためにコメントが適用されています。現在のテーマのテーマフォルダーを参照しているため、主にテーマテンプレート内で役立ちます。
Drupal 8
global $base_url;
$theme = \Drupal::theme()->getActiveTheme();
$image_url = $base_url.'/'. $theme->getPath() .'/images/image.jpg';