Как мне узнать путь к текущей теме друпалов?

split метод использует регулярное выражение (регулярное выражение). Так как Java 8 regex поддерживает \R, который представляет (из документации класса Шаблона ):

Соединитель строк\r & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; & emsp; Любая последовательность строк Unicode, эквивалентна \u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]

blockquote>

. Поэтому мы можем использовать ее для соответствия:

Как вы видите \r\n помещается в начало регулярного выражения, что гарантирует, что регулярное выражение будет пытаться сначала сопоставить эту пару , и только если он не работает, он попытается сопоставить разделители строк одиночного символа .


Итак, если вы хотите используйте разделитель разделителей на линии split("\\R").

Если вы не хотите удалять из результирующего массива конечные пустые строки "" , используйте split(regex, limit) с отрицательным параметром limit, например split("\\R", -1).

Если вы хотите рассматривать одну или несколько оставшихся пустых строк в качестве одного разделителя, используйте split("\\R+").

23
задан kiamlaluno 17 March 2018 в 08:03
поделиться

4 ответа

Используйте path_to_theme функция.

25
ответ дан Tim Cooper 17 March 2018 в 08:03
поделиться

это должно работать ( документ ):

global $theme;
$path = drupal_get_path('theme', $theme);

// there's also a $theme_path global

global $theme_path;
20
ответ дан Owen 17 March 2018 в 08:03
поделиться

В Drupal 5 можно просто использовать: path_to_theme ()

Это даст Вам полный путь от корня Drupal к определенному каталогу темы. Знайте, это не включает запаздывающую наклонную черту.

В Drupal 6, это ведет себя просто немного по-другому. При вызове его из страниц это назовет то, что в настоящее время делает theming..., является ли это темой, модулем, и т.д. Вот ключевая кавычка из документов API:

Это может указать на активную тему или модуль, обрабатывающий тематическую реализацию. Например, когда вызвано в рамках вызова theming это будет зависеть от того, где функция theming обрабатывается. Если реализовано от модуля, это укажет на модуль. Если реализовано от активной темы, это укажет на активную тему. Когда названо вне объема вызова theming, это будет всегда указывать на активную тему.

Источник: http://api.drupal.org/api/function/path_to_theme

1
ответ дан CaseySoftware 17 March 2018 в 08:03
поделиться

В D6 функция path_to_theme() может вести себя не так, как вы ожидаете, в зависимости от того, как вы ее используете. Если вы используете ее вне каких-либо функций препроцесса темы, то она, вероятно, даст вам то, что вы хотите, но если она вызывается в контексте хук-функции модуля тематизации/препроцесса... она будет указывать на путь модуля, который объявил тему.

Например. Если у меня есть тема "my_theme" и мой модуль "my_module", который переопределяет темы форума с помощью preprocess hooks, вызов path_to_theme() внутри моего модуля: например, my_module_preprocess_forums()... вернет "forums", а не "my_theme", как можно было бы ожидать.

Очень фруктово, если вы спросите меня.

10
ответ дан 28 November 2019 в 22:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: