Где задаются переменные API друпала?

Главные вкладки

Комментарии

Аватар пользователя Orion76 Orion76 28 февраля 2012 в 3:10

Смотря что вы подразумеваете под "переменные API друпала", смотря какие переменный, смотря для чего переменные..
Подправить переменные, выводимые в шаблонах можно в файле template.php в папке темы(если нет,создать) в функциях, соответственно шаблонам:
ИМЯ_ТЕМЫ_preprocess_html($variables),
ИМЯ_ТЕМЫ_preprocess_page($variables),
ИМЯ_ТЕМЫ_preprocess_node($variables),
ИМЯ_ТЕМЫ_preprocess_block($variables)
и т.д.
если нет, создать..
как создавать, смотрим в темах где эти функции присутствуют...

Аватар пользователя andrewthomson andrewthomson 28 февраля 2012 в 12:51

Да, я имел ввиду именно переменные, которые доступны для каждого файла tpl. Получается, можно переопределить эти переменные с помощь. этих препроцессорных функций:
ИМЯ_ТЕМЫ_preprocess_html($variables),
ИМЯ_ТЕМЫ_preprocess_page($variables),
ИМЯ_ТЕМЫ_preprocess_node($variables),
ИМЯ_ТЕМЫ_preprocess_block($variables)

ну или добавить свои переменные.

А как посомотреть, что представляем собой этот массив $variables? С помошью какой функции можно это посмотреть? И как?

Аватар пользователя andrewthomson andrewthomson 28 февраля 2012 в 12:53

и в чём отличие:
template_preprocess_page
template_preprocess_node
template_preprocess_block
template_preprocess_comment

от

ИМЯ_ТЕМЫ_preprocess_html($variables),
ИМЯ_ТЕМЫ_preprocess_page($variables),
ИМЯ_ТЕМЫ_preprocess_node($variables),
ИМЯ_ТЕМЫ_preprocess_block($variables) ?

Или в первом случае имеется ввиду, что надо подставлять вместо template ИМЯ_ТЕМЫ.

Аватар пользователя Orion76 Orion76 28 февраля 2012 в 13:53

"andrewthomson" wrote:
С помошью какой функции можно это посмотреть? И как?

<?php echo '<pre>'.print_r($variables,TRUE).'</pre>';?>

template_preprocess_page - уже определена в includes/theme.inc
ИМЯ_ТЕМЫ_preprocess_page - определяется разработчиком темы в template.php