簡體   English   中英

未加載Magento塊模板文件

[英]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(設置主題目錄名稱)。

也可以嘗試:

  1. 重新索引(可以更改模板,但可以加載舊索引)
  2. 清理/ var / cache文件夾本身。

該站點是否使用litespeed或任何其他緩存實用程序? 可能還必須清理這些緩存。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM