2010-08-29 44 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版本。