Drupal基本页面似乎不使用page.tpl.php

时间:2018-10-31 00:33:56

标签: drupal drupal-7 drupal-views drupal-theming drupal-templates

标题确实如此。在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 :(得分:3)

添加$ conf ['theme_debug'] = TRUE;在settings.php中并清除缓存,重新加载页面并检查视图源。 它将显示模板文件建议。

答案 1 :(得分:1)

page.tpl.php文件适用于所有页面。只需将任何内容打印到tpl并运行基本页面以及其他内容类型页面的任何节点,然后检查其是否正常工作。如果page.tpl.php仅适用于基本页面,请检查您的template.php文件。

要打印页面标题,只需使用以下代码:

    <?php print $title; ?>

对于打印正文,您需要使用以下内容:

    <?php print render($page['content']); ?>

答案 2 :(得分:0)

这可能取决于您使用的主题。但我想您实际上是在说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)
   }
}

请参见Template (theme hook) suggestions,我也是从上面摘录的。

答案 3 :(得分:0)

用于检查模板源的活动主题调试,您会向用户提出不同的建议(只是避免使用node / nid)。

推荐加急以启用主题调试drush vset theme_debug 1