API Drupal имеет drupal_get_path($type, $name)
, который даст путь к какой-либо конкретной теме или модулю. Что делать, если мне нужен путь к текущей теме?
Как мне получить путь к текущей теме drupal?
Ответ 1
Используйте path_to_theme
.
Ответ 2
это должно работать (doc):
global $theme;
$path = drupal_get_path('theme', $theme);
// there also a $theme_path global
global $theme_path;
Ответ 3
В D6 path_to_theme() может не вести себя так, как вы ожидаете, в зависимости от того, как вы его используете. Если вы используете его вне любых функций препроцесса темы, то он, вероятно, даст вам то, что вы хотите, но если он вызывается в контексте функции кулачка/препроцессора модуля... он будет указывать на путь к модулю, который объявила тему.
Ex. Если у меня есть тема "my_theme" и мой модуль "my_module", который переопределяет темы форума, используя перепроцессорные перехватчики, вызывая path_to_theme() в моем модуле: например. my_module_preprocess_forums()... вернет "форумы", а не "my_theme", как можно было бы ожидать.
Очень фруктовый, если вы спросите меня.
Ответ 4
В Drupal 7 для получения текущего пути темы мы можем использовать: функция path_to_theme().
Ответ 5
В Drupal 5 вы можете просто использовать: path_to_theme()
Это даст вам полный путь от корня Drupal к определенному каталогу темы. Имейте в виду, что он не включает завершающую косую черту.
В Drupal 6 это ведет себя немного иначе. Если вы вызываете это из ваших страниц, он будет вызывать все, что в настоящее время делает тематику... независимо от того, является ли это вашей темой, модулем и т.д. Здесь ключевая цитата из документов API:
Он может указывать на активную тему или модуль, обрабатывающий тематические реализация. Например, когда вызывается в рамках тематики вызов будет зависеть от того, где обрабатывается функция theming. Если реализованный из модуля, он будет укажите модуль. Если выполнено из активной темы он укажет к активной теме. Когда вызывается за пределами тематического вызова, он всегда будет указывать на активный тема.
Ответ 6
Для D8 папка темы доступна в препроцессорных функциях:
function hook_preprocess_page(&$variables) {
$variables['some_logo_file'] = "/{$variables['theme']['path']}/images/logo.png";
}
page.html.twig:
<img src="{{ logo_src }}">