drupal 7自定义内容类型和模板

时间:2011-07-22 15:59:40

标签: templates drupal-7 content-type

......好吧......所以......我只需要“清除缓存”。我想,因为我没有缓存(网站正在开发中)我不需要清除它。错。

解决方案是:

添加文件节点 - my-content-type.tpl.php并转到管理»配置»开发,然后单击清除缓存按钮。

我希望这可以帮助别人不花费数小时来解决同样的问题!

使用Drupal 7.2,我创建了一个自定义内容类型'my_custom_type,我不能在我的生活中找出如何为我的自定义类型创建自定义模板。我的模板文件目前只打印“你好世界”,但没有运气显示它。我尝试过这些组合:

  1. 将node-my-custom-type.tpl.php放入my theme的templates目录中。那没用。所以我在研究之后将它添加到templates.php中的THEME_preprocess_page()函数中:

    if (isset($variables['node'])) {
    
        $variables['template_files'][] = 'node--'. 
                                         str_replace('_', 
                                                     '-',
                                                     $variables['node']->type);
    
    }
    
  2. 将相同的代码放在THEME_preprocess_node()中,而不使用if,所以:

        $variables['template_files'][] = 'node--'. 
                                         str_replace('_', 
                                                     '-',
                                                     $variables['node']->type);
    
  3. 以上两个,但我的tpl.php文件位于基本模板目录中:/ modules / node /

  4. 非常感谢任何帮助。我完全失去了。

    另外,我在/modules/node/node.tpl.php中添加了打印“what the what”并打印出来......也许这是因为内容类型不是节点?但是如何为内容类型创建默认模板?

2 个答案:

答案 0 :(得分:4)

不建议修改核心文件。见http://drupal.org/best-practices/do-not-hack-core。我不确定这是你在做什么,但如果你是......

你应该做的是创造一个副主题。请参阅http://drupal.org/node/225125http://drupal.org/node/171194

上的指南

通常您会将自定义主题文件放在/sites/all/themes/custom/subtheme_name/ node--my-custom-type.tpl.php中。

请务必在http://yoursite.com/admin/config/development/performance清除缓存,以便识别您的新模板文件。

答案 1 :(得分:0)

如果您不想一直清除缓存,可以安装http://drupal.org/project/devel并选择在每次请求时重建主题注册表。

请确保在您的网站上线之前将其关闭,因为启用它会带来巨大的性能。