每次我尝试查看 indexController 时,我的自定义模块都会在系统日志中生成此错误。
2012-01-25T17:23:08+00:00 CRIT (2): Not valid template file:adminhtml/base/default/template/page/2columns-right.phtml
我已经通过我的模块代码钓鱼了几个小时,似乎找不到任何问题。什么可能导致这种情况?在 adminhtml 下甚至不存在 base/default 文件夹。
" base/default
" 包/主题是 Magento 将在其中查找模板文件的最终文件夹。当您看到此错误时,表示 Magento 在
[current-design-package]/current-theme/template/page/2columns-right.phtml
[current-design-package]/default/template/page/2columns-right.phtml
您的问题中没有足够的信息来“找出您遇到的确切问题,但看起来您自己或通过第三方模块尝试更改根块的模板(或者可能是另一个块)在 Magento 管理控制台应用程序中到2columns-right.phtml
.
但是,此模板不存在于adminhtml
设计包中的任何位置。这就是您收到该错误的原因。管理控制台只有一个根模板,那就是page.phtml
. 该2columns-right.phtml
模板是一个前端模板,用于购物车应用程序。
如果这无助于更好地描述您的模块,以及您使用它的动机以及您期望发生的事情,任何人都需要回答您的问题。
您设置此模板显示的某些位置,但不能包含此模板。检查下一个地方以了解可能的问题:
app/code/core/Mage/Core/Block/Template.php
public function fetchView($fileName)
try {
$includeFilePath = realpath($this->_viewDir . DS . $fileName);
if (strpos($includeFilePath, realpath($this->_viewDir)) === 0) {
include $includeFilePath;
} else {
Mage::log('Not valid template file:'.$fileName, Zend_Log::CRIT, null, null, true);
}
}
检查用于包含此文件的路径。检查此类文件的权限等。希望对您有所帮助。
我不知道早期版本,但在 1.8 中没有 adminhtml 的“基础”包。有一个“默认”包,里面有“默认”主题。
建议创建一个新主题,而不是一个新包,以覆盖默认主题。原因是,如果您制作自己的包,回退机制将尝试在“基本”包(adminhtml 不存在)中查找它在您的包中丢失的文件。通过在默认包中创建主题,回退机制可以使用默认主题来查找文件。
然后,Alan Storm 告诉您关于后端没有此页面模板,只有前端 :) 但无论它是否存在,请确保您没有制作自己的后备机制(或 .. 创建基本包并将默认包复制到其中:)