куда то в 6-м друпале делась _phptemplate_variables, а как теперь назначать глобальные переменные?

Прислано: kiev1

чт, 08/01/2009 - 18:29

вот было у меня в template.php так

function _phptemplate_variables($hook, $vars) {
$vars['termv'] = $termv;
$vars['tid'] = $termv->tid;
$vars['bg_term'] = $bg_term;
return $vars;
}

а теперь говорят есть template_preprocess - но как ее использовать что бы добавить переменные которые будут доступны в блоках и шаблонах?

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано neochief в чт, 08/01/2009 - 19:48.

откройте гарланд, там должна быть функция phptemplate_preprocess_page(), по ходу разберетесь. С блоками название phptemplate_preprocess_block. Делают они то же самое что _phptemplate_variables


Опубликовано ingumsky@drupal.org в чт, 08/01/2009 - 22:35.

В Гарланде нашёл в template.php

Цитата:

/**
 * Override or insert PHPTemplate variables into the templates.
 */
function phptemplate_preprocess_page(&$vars) {
  $vars['tabs2'] = menu_secondary_local_tasks();
 
  // Hook into color.module
  if (module_exists('color')) {
    _color_page_alter($vars);
  }
}

И всё -(


Опубликовано kiev1 в чт, 08/01/2009 - 23:21.

не не работает
написал в template.php

function phptemplate_preprocess_block(&$vars) {
$vars['termv'] = 111;
}

а в шаблоне блока переменная termv не появляется никак (((
и вообще функция phptemplate_preprocess_block не вызывается ни разу (((
однако функция phptemplate_preprocess_page вызывается...


Опубликовано neochief в чт, 08/01/2009 - 23:54.

кеш


Опубликовано kiev1 в пт, 09/01/2009 - 00:02.

странно - что бы заработало в блоках пришлось зайти в установки темы и нажать "сохранить" еще раз... неужели так все странно он работает...
ведь кеш то отключен был!
спасибо


Опубликовано neochief в пт, 09/01/2009 - 04:32.

Вы сбросили кеш реестра темизации нажатием кнопки ;) Не надо путать кеш страниц и внутренний кеш меню, реестра темизации и т.д.


Опубликовано Алешка в пт, 09/01/2009 - 16:56.

Присоединяюсь к neochief. Кэш реестра тем не одно и то же, что кэш страниц. В описаниях по разработке своих тем и темизаций люди явно оговариваются: «Отметьте: при включении в тему новых шаблонов (файлов с расширением .tpl.php), вам нужно будет посетить страницу Administer → Site building → Themes для того, чтобы Drupal обновил реестр тем (кеш)». Это же справедливо и для изменения кода внутри .tpl.php и .php
По поводу нажатия кнопки "сохранить" - можно не делать. Сам убедился - посещения страницы тем достаточно. Хотя не запрещается ;-)


Опубликовано neochief в пт, 09/01/2009 - 17:23.

Самый универсальный способ — Страница "Производительность" и кнопка "Сбросить кеш" там.


Новое на сайте

Ссылки партнёров