Drupal 7 не использует шаблон предложения - PullRequest
1 голос
/ 26 августа 2011

Я добавил следующее в мой файл template.php в функции [themename] _preprocess_page:

<?php
  if ($variables['is_front'])
  {
    $variables['theme_hook_suggestions'] = array();
    $variables['theme_hook_suggestions'][] = 'page__index';
  }

  if (isset($variables['node'])) {
    // If the node type is "blog" the template suggestion will be "page--blog.tpl.php".
    $variables['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $variables['node']->type);
  }

Если я запускаю var_dump в массиве $ variable, я вижу, что на моей первой странице для theme_hook_suggestions задано только использование page__index. У меня есть файл с именем «page - index.tpl.php». Drupal по-прежнему использует page.tpl.php.

Я также закомментировал приведенный выше код и переименовал файл в «page - front.tpl.php», и он все еще использовал page.tpl.php. Я очищаю кеши после каждого изменения.

Что мне не хватает?

Редактировать: Чтобы прояснить ситуацию, я хочу переопределить весь дизайн страницы для лицевой стороны - без колонок или боковых панелей, разной графики, разных фонов в некоторых элементах div и т. Д. не хочу переопределять файлы шаблона 'node--' (пока).

В конце мне нужна статическая титульная страница с дизайном, отличным от остальной части сайта, а затем пользовательский шаблон узла для каждого типа контента.

1 Ответ

1 голос
/ 27 августа 2011

Я работал с замечательными людьми на IRC-канале #drupal и обнаружил проблему.Не уверен, является ли это ошибкой в ​​коде или нарочно - но вы не можете использовать слово «индекс» для этих предложений темы.Я изменил название типа контента на «домашняя страница» и вуаля!

...