2010-08-29 46 views
0

我遇到了一个奇怪的问题,那就是网站上没有显示块。经过大量的探讨之后,我发现block.tpl.php没有被调用/发现。模板文件未被发现

望着建议,主题引擎正在试图寻找它看起来像最普通的模板将查找是block-MODULE.tpl.php - 也就是说,如果我设置为符号链接block-block.tpl.phpblock-views.tpl.php等则内容将显示。 它只是不会找到block.tpl.php

所以我使问题消失,但我感觉好多了,如果我能妥善解决这个问题。

任何人都知道为什么(或在哪里)会发生?

这是drupal 6,与禅宗 subtheme。禅宗在sites/all/themes/次主题是在sites/example.com/themes/

(它似乎是找到page.tpl

回答

1

原来我在template.php中的hook_theme()函数中添加了一个指向不同位置并混淆了每个人的块。

为什么我这样做是失去了历史,但似乎服务器没有用处。

+0

它感到真正的奇怪的回答和接受我这样的答案,但似乎'原来我做了一些愚蠢的'不是一个理由来关闭一个问题,我不能删除它?只是“投票”它的删除?无论如何。 – Andrew 2010-09-01 12:49:11

+0

我在使用最新的禅宗Drupal 6.20中遇到了类似Zen和我的子主题的问题。它不会在子主题的文件夹中找到模板,但如果将它们移动到zen/zen主题文件夹中,它会找到它们。$ vars ['template_files']中的建议是正确的,因为我可以在mytheme_preprocess_node()中看到它们的打印。所以在我的情况下还有其他事情正在发生,这可能是一个更普遍的问题。所以不妨考虑一下这个还没有完全解决! – 2011-02-05 23:17:11

2

PHPTemplate 找到更一般的模板(例如block.tpl.php):你可以通过查看它有自己的block.tpl.phpthemes/garland文件确认此行为。

模板引擎忽略模板覆盖的最常见原因是因为主题注册表未被重置。您可以通过转到站点配置性能并点击清除页面底部的缓存数据来重置它。

另外,还要确保你已经经历了,并随访子主题化正好说明:缺少一个步骤,可以产生意想不到的结果:

+0

我已经清除了主题注册表各种各样的时间 - 并启用自动重建的主题注册表的每页加载没有区别。 我很确定我已经正确地创建了子主题 - 除此之外的所有工作都已经完成 - 我看不到哪一步可能会导致它跳过“block.tpl.php”,但找到“block-block.tpl.php” – Andrew 2010-08-29 23:45:38

0

应该有主题和副主题目录中的block.tpl.php版本。