2012-08-31 52 views
0

我知道这是一个愚蠢的问题,但我已经彻底调查了所有文件名,目录和类名上的大写和小写。似乎都已经是正确的。但是,在远程主机上,某些方式不会加载块文件.phtml。布局xml已经加载,因为我可以看到加载了CSS和JS文件。Magento模块在本地主机上工作,但不在远程主机上

仅供参考,管理后端工作正常,只有未加载的前端块。不知道为什么前端块文件未在远程主机上加载。

我给了我的模块名称像这个ModuleABCD。连续几个大号病例可以吗?预先感谢您的回复。

<?xml version="1.0"?> 
<layout> 
    <modulename_index_index> 
    <reference name="head"> 
    <action method="addItem"><type>skin_css</type><name>modulename.css</name></action> 
      <action method="addItem"><type>skin_js</type><name>modulename.js</name></action> 
    </reference> 
    <reference name="content"> 
      <block type="modulename/modulename" name="modulename" template="modulename.phtml"/> 
    </reference> 
    </modulename_index_index> 
</layout> 
+0

帖子相关布局XML哪些指定您的模板路径。另外,你是否在var/log/system.xml中看到一个无效的模板错误?块类实例是否被创建?主题设置是否相同?远程缓存是否已刷新? – benmarks

+0

感谢benmarks。我检查var/log目录,它是空的,我假设没有错误或异常发生。块类没有得到实例化,因为块.php文件没有得到执行。主题使用默认设置,这里没有设置更改都是默认设置。缓存被禁用,var/cache已被删除(虽然每次访问该站点时都会重新创建)。 – user1576748

回答

1

鉴于您的布局文件似乎是越来越加载,我建议你做一个./demo.php文件,你可以从你的浏览器在http://site.com/demo.php运行以下命令:

<?php 

ini_set('display_errors',true); 

include 'app/Mage.php'; 

Mage::setIsDeveloperMode(true); 
Mage::app(); 

Zend_Debug::dump(Mage::getBlockClassName('classgroup/blockname'); 

Zend_Debug::dump(Mage::app()->getLayout()->createBlock('classgroup/blockname')); 
+0

感谢您的提示,benmarks。上面的脚本给了我“找不到文件”的错误。现在我知道罪魁祸首了。看来我给了.php块文件(ModuleABCD.php)的错误名称。因为即使类名是Company_ModuleABCD_Block_ModuleABCD,Magento也会查找Moduleabcd.php。那么,每一天对我来说都是一个新课程:)。谢谢你的帮忙,先生! – user1576748

+0

这取决于。如果你指定''那么你写的是正确的。如果你指定了'',那么它会查找* ModuleABCD.php *文件。这只是区分大小写的文件系统的一个问题,我猜你的远程主机是,而你的开发环境不是:-) – benmarks

相关问题