首页 > 解决方案 > Drupal 7根据内容类型创建自定义模板不起作用

问题描述

我想创建一个基于“内容类型”的自定义模板文件。我有一个名为 (machine name) 的内容类型:oldperson_profile并且我在“templates”文件夹下创建了一个文件作为page--oldperson_profile.php. 现在,根据我在 Google 上找到的教程,我在 template.php 文件中做了以下修改:

function mytheme_preprocess_page(&$variables, $hook) {

 if (isset($variables['node']->type)) {
    $variables['theme_hook_suggestions'][] = 'page__' . $variables['node']->type;
  }

}

现在我已经清除了缓存并刷新了页面的前端,但没有任何改变。我从https://www.digett.com/insights/overriding-page-templates-content-type-drupal-7得到这个想法。我做错了什么吗?

标签: drupaldrupal-7

解决方案


您的模板文件名错误,将下划线更改_为文件名的破折号“-”,并且您也丢失了tpl 所以应该是

page--oldperson-profile.tpl.php

推荐阅读