Почему функция php_template_preprocess_page не вызывается в Drupal 6x? - PullRequest
0 голосов
/ 15 декабря 2009

Из другого форума я нашел следующий пример:

"Я искал способ получить данные узла через ajax и придумал следующее решение для Drupal 6. После внесения изменений ниже, если вы добавите ajax = 1 в URL (например, mysite.com/node/ 1? Ajax = 1), вы получите только содержимое без макета страницы.

в файле template.php для вашей темы:

function phptemplate_preprocess_page(&$vars) {

  if ( isset($_GET['ajax']) && $_GET['ajax'] == 1 ) {
        $vars['template_file'] = 'page-ajax';
  }

}

затем создайте page-ajax.tpl.php в каталоге вашей темы с таким содержанием:

<?php print $content; ?>

"

Это кажется логичным способом сделать это, и я сделал это, но функция phptemplate_preprocess_page никогда не вызывается ... какие-либо предложения?

1 Ответ

4 голосов
/ 15 декабря 2009

Я понял это для себя на странице разработки темы поддержки Drupal:

"Может быть, это помогает leahcim.2707 - 29 мая 2008 г. - 05: 40

Я пытался сделать то же самое, и для меня это работает, но я не уверен, что это правильный путь, поскольку я все еще новичок в Drupal:

в "template.php" я добавил следующую функцию: функция phptemplate_preprocess_page (& $ vars) { $ css = $ vars ['css']; снята с охраны ($ CSS [ 'все'] [ 'модуль'] [ 'модули / системы / system.css']); снята с охраны ($ CSS [ 'все'] [ 'модуль'] [ 'модули / системы / defaults.css']); $ vars ['styles'] = drupal_get_css ($ css); }

Я думаю, что после добавления функции вам нужно перейти в / admin / build / themes, чтобы Drupal распознал эту функцию."

Часть, выделенная жирным шрифтом, - это то, что сработало ... вам нужно заново сохранить конфигурацию, чтобы она распознала, что вы добавили новую функцию в шаблон.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...