Полностью белая (пустая) нода

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

Аватар пользователя 3746598 3746598 3 февраля 2013 в 4:57

Собственно вопрос. Есть нода, которая содержит php код, но он никакой текст не показывается.
Как можно придумать, чтобы из ноды сделать пустую страницу, так чтобы вообще больше ничего не отображалось, ни заголовки, ни картинки, за исключением некоторых модулей (например для adwords, котторый тоже никакой текст не выводит), кода google analytic и (не знаю еще что) внутренних вещей друпала.
Какие идеи есть на этот счет? ...

Комментарии

Аватар пользователя Nikit Nikit 3 февраля 2013 в 9:45

аа, не так понял.

Для этого не ноду, а html-empty.tpl.php и page-empty.tpl.php надо сделать, где всё пусто, а в препроцессоре html и page проверить url или что там, и подсунуть эти пустые tpl-ки.

Аватар пользователя Nikit Nikit 4 февраля 2013 в 3:39

Есть готовый модуль: http://drupal.org/project/empty_page
Ну поисковик навскидку выдал:

function mytheme_preprocess_html(&$variables) {
  if ((arg(0) === 'node') && (arg(1) == 10001) && (!arg(2))) {
    $variables['theme_hook_suggestions'] = array('html__blank');
  }
}

function mytheme_preprocess_page(&$variables) {
  if ((arg(0) === 'node') && (arg(1) == 10001) && (!arg(2))) {
    $variables['theme_hook_suggestions'] = array('page__blank');
  }
}

Добавь это в template.php твоей темы, переименуй mytheme на имя твоей темы. А 10001 поменяй на NID твоей ноды.
Подготовь html--blank.tpl.php и page--blank.tpl.php c существующих html.tpl.php и page.tpl.php и положи в папку твоей темы (или в подпапку templates твоей темы). Очисти xxx_blank.tpl.php от всякого мусора, оставь только печать  $page и $page['content'] в соотвествующих файлах...