magento--很奇特的开源系统,奇特的捉摸不定,飘渺,迷离~~~

来源:互联网 发布:知乎 阿芙荷荷巴水 编辑:程序博客网 时间:2024/04/27 13:59

magento,很奇特,很虚无的开源系统,略带一点小孩子脾气,至于你信不信,反正,我是信了!!!

给magento做个功能吧,在phtml,block都是可以写php代码,调用magento函数的,所以,在phtml文件里使用

Mage::app()->getRequest()->getModuleName()

然后使用Mage::registry("")得到一些前面的数据,

$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];

得到URL的地址。

关闭缓存一点问题没有,开启缓存,妈逼就是不行,registry就是不好用

产品详细页面使用Mage::app()->getRequest()->getModuleName()得到的不是catalog,而是cms,

$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];得到的不是当前的url,而是app/etc/local.xml,

清空缓存,session,关闭编译功能,还是不行!关闭缓存的话,一切正常

非常难以理解,所以把文件拷贝下来,测试,正常,上别的服务器测试,还是正常,难道是服务器的配置的原因嘛?

然后我在当前服务器建立一个子文件夹,数据库复制一份,测试,还是正常!!!

magento的核心代码让我改动不少,难道这里有问题?吧core/mage的文件,全部还原,还是不行,


,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

实在费解,难以理解,但是最后解决了

原来footer是做了缓存的一个block,所以去里面吧consturct方法,cachekey方法删除,然后

<block type="blockcache/blockcachehomefooter" name="footer" as="footer" template="page/html/footer.phtml">
            改为:
            <block type="page/html_footer" name="footer" as="footer" template="page/html/footer.phtml">  

然后OK,好了,看来在缓存的block中,还是少写magento系统函数方法为妙,但是别的服务器为什么没有问题呢?

没有原因,找不出来,至于你信不信,反正,我是信了!!!