[英]Magento block template file not loaded
我正在嘗試做一些非常基本的事情:編輯類別產品尋呼機模板的一小部分。 我將pager.phtml
從.../base/default/template/page/html/
復制到我自己主題的template/page/html
文件夾中,並更改了我需要在新文件中進行的更改。 不幸的是,前端沒有任何改變。
我嘗試啟用“模板路徑提示”,它肯定顯示了正在加載的自定義模板。 當我清空主題的pager.phtml
,所有內容都會保留(好像它仍在加載默認模板一樣)。 當我編輯默認模板時,仍然沒有任何改變! 啊哈! 它必須被緩存...
但是我已經禁用了緩存(它是一個開發站點),並且無論如何都嘗試刷新它們。 沒有什么變化。 我已經在此站點上編輯了許多模板,它們都按預期工作,唯一的pager.phtml
給我帶來了麻煩。
如果有人可以向我指出正確的方向,甚至可以用我的方式拋棄其他調試想法,那將是很好的。 提前致謝。
三聯檢查路徑。 認真地說,與Magento合作的某些事情會使人們(包括我自己)錯過比顯而易見的事物低一級的事物。
完成此操作后,跳至
app/code/core/Mage/Core/Block/Template.php
查找包含模板文件的行
$includeFilePath = realpath($this->_viewDir . DS . $fileName);
if (strpos($includeFilePath, realpath($this->_viewDir)) === 0 || $this->_getAllowSymlinks()) {
include $includeFilePath;
} else {
Mage::log('Not valid template file:'.$fileName, Zend_Log::CRIT, null, null, true);
}
並添加調試代碼以弄清楚為什么不包含您的phtml。
如果關閉了緩存,並且您編輯base/default
包/主題沒有任何效果,則聽起來您正在編輯錯誤的文件...
偶然的是,它是基於1.4版本的1.3模板-尋呼機設置在兩個版本之間發生了變化,並且會導致您所描述的特殊問題。
您是否測試過覆蓋另一個.phtml
文件以查看它是否確實有效(即,是否已正確設置)。
最后,緩存是最后的手段,您是否已將mtime
/ stat
參數設置為false來安裝APC / Eaccelerator? 因為這將忽略文件修改時間,並直接從其內部緩存中提供數據。 Apache / PHP重新啟動將證明這一點。
通過運行驗證
php -i | grep mtime
php -i | grep stat
或通過創建一個測試phpinfo();
文件
在System-> Config-> General-> Design-> Package中檢查設計設置(示例:默認)System-> Config-> General-> Design-> Themes-> Default(設置主題目錄名稱)。
也可以嘗試:
該站點是否使用litespeed或任何其他緩存實用程序? 可能還必須清理這些緩存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.