Базовая страница Drupal, похоже, не использует page.tpl.php - PullRequest
0 голосов
/ 31 октября 2018

Название говорит, что это действительно так. Основные страницы, созданные в Drupal, похоже, не используют файл page.tpl.php в качестве шаблона.

Если я редактирую файл html.tpl.php, эти изменения применяются к каждой странице, и это вызывает ошибки при загрузке базовой страницы.

Я также пытался скопировать файл page.tpl.php и назвать его page—basic-page.tpl.php безрезультатно.

Есть идеи, что происходит?

Кроме того, как мне изменить переменную page_top, чтобы включить в нее больше контента? Наконец, файл по умолчанию page.tpl.php содержит $page переменные и такие вещи, как $page_top и тому подобное.

Как бы я назвал заголовок только со страницы и основной текст только страницы?

Я использую Drupal 7 и пользовательскую подтему.

Вышеупомянутые файлы находятся в папке шаблонов темы, и я добавил кеши, когда добавил их.

Ответы [ 4 ]

0 голосов
/ 04 ноября 2018

активная отладка темы для проверки исходного кода шаблона, и вы получаете различные предложения для пользователя (просто избегайте использования node / nid).

commend drush для включения отладки темы drush vset theme_debug 1

0 голосов
/ 31 октября 2018

page.tpl.php файл общий для всех страниц. Просто напечатайте что-нибудь в tpl и запустите любой узел базовой страницы, а также страницу другого типа контента и проверьте, работает ли он или нет. Если page.tpl.php не работает только для базовой страницы, проверьте файл template.php.

Для печати заголовка страницы просто необходимо использовать следующий код:

    <?php print $title; ?>

Для печати основного текста необходимо использовать следующее:

    <?php print render($page['content']); ?>
0 голосов
/ 02 ноября 2018

Это может зависеть от темы, которую вы используете. Но я думаю, вы на самом деле имеете в виду page--page.tpl.php (двойные черточки). Что будет учтено после добавления следующего фрагмента в template.php вашей темы. Замените MYTHEME именем машины вашей темы.

function MYTHEME_preprocess_page(&$variables) {
  if (isset($variables['node']->type)) {
   // If the content type's machine name is "my_machine_name" the file
   // name will be "page--my-machine-name.tpl.php".
   $variables['theme_hook_suggestions'][] = 'page__' . $variables['node']->type; // (double underscores)
   }
}

См. Предложения по шаблонам (темам) , где я также получил фрагмент выше.

0 голосов
/ 31 октября 2018

Добавить $ conf ['theme_debug'] = TRUE; в файле settings.php и очистите кэш, перезагрузите страницу и проверьте вид источника. В нем отобразятся предложения файла шаблона.

...