...好吧...所以...我只需要“清除缓存”。我想因为我没有缓存(网站正在开发中),所以我不需要清除它。错了。
解决方案是:
添加文件node--my-content-type.tpl.php并转到管理»配置»开发,然后单击清除缓存按钮。
我希望这可以帮助人们不要花几个小时来解决同样的问题!
使用 Drupal 7.2,我创建了一个自定义内容类型“my_custom_type”,但我一生都无法弄清楚如何为我的自定义类型创建自定义模板。 我的模板文件目前只打印“hello world”,但没有运气显示它。 我尝试过这些组合:
将node--my-custom-type.tpl.php放入我的主题的模板目录中。 那行不通。 因此,经过研究,我将其添加到 templates.php 中的 THEME_preprocess_page() 函数中:
if (isset($variables['node'])) {
$variables['template_files'][] = 'node--'.
str_replace('_',
'-',
$variables['node']->type);
}
将相同的代码放入 THEME_preprocess_node() 中,而不使用 if,所以:
$variables['template_files'][] = 'node--'.
str_replace('_',
'-',
$variables['node']->type);
以上两者,但我的 tpl.php 文件位于基本模板目录中:/modules/node/
任何帮助将不胜感激。 我完全迷失了。
另外,我在 /modules/node/node.tpl.php 中添加了打印“什么是什么”并打印了..也许这是因为内容类型不是节点? 但如何为内容类型创建默认模板?
不建议修改核心文件。请参阅http://drupal.org/best-practices/do-not-hack-core。 我不确定这是否是你正在做的事情,但如果你是......
您应该做的是创建一个子主题。请参阅 http://drupal.org/node/225125 和 http://drupal.org/node/171194
的指南通常您会将自定义主题文件放在
/sites/all/themes/custom/subtheme_name/ node--my-custom-type.tpl.php
中。
请记住在
http://yoursite.com/admin/config/development/performance
清除缓存,以便识别您的新模板文件。
如果您想避免一直清除缓存,可以安装 http://drupal.org/project/devel 并选择在每次请求时重建主题注册表。
请务必在您的网站上线之前将其关闭,因为保持启用状态会产生巨大的性能。