所以我下载了Magento免费博客扩展,但它只支持一个博客。 所以我复制了扩展,因为我在magento商店需要多个博客。我在扩展副本中更改了所有引用和调用,并能够将其作为单独的扩展安装。
然而当我想从管理面板创建新帖子时,它会给我一个Magento 404错误。
如果有人可以看看,让我知道我错过了什么,我将不胜感激。
请注意我使用两种环境进行测试:
使用PHP 5.2.6,MySQL 5和Apache 2.0.59通过MAMP / WAMP(适用于Mac和Windows的预打包LAMP桌面环境)本地安装Magento
使用PHP 5.2.10,MySQL 5.x和Apache 2.x的Web服务器
在我当地的MAMP / WAMP上,我可以毫无问题地创建博客。但是,当我从实时服务器测试它时,我不再能够创建新的博客帖子,并且重定向到创建帖子页面的管理页面会给我一个magento 404错误。
我一直认为这可能与某些服务器设置有关,但我完全不确定,如果其他人可以为我调查,我会很感激。
感谢。
编程
答案 0 :(得分:6)
首先是一个骂,然后是一些帮助,因为这就是StackOverflow如何滚动。除非你真的熟悉Magento惯例,否则你很可能没有改变正确的事情。
阅读Magento中的controller distach流程并尝试tracing its progress
所以,那读起来,你现在知道你的前面名字是“vblog_admin”。是否有加载此正面名称的任何页面?如果没有,请检查您的<路由器>您自定义模块的部分
您的控制器名称为“manage_vblog”,这意味着在自定义模块中,您应该在以下位置拥有控制器:ModuleName/controllers/Manage/Vblog.php
。
确保控制器就位后,请确保它上面有newAction方法。
如果上述任何步骤失败,magento将404给你。最后,在
app/code/core/Mage/Core/Controller/Varien/Router/Standard.php
搜索文字getControllerFileName
。这是您的控制器获取其名称的位置,以及Magento决定是否有合法请求的系统的一般区域。
更新:根据下面提供的文件(和私人通信),它看起来是导致问题的命名约定。 Magento对其驼峰案例命名惯例非常严格。
VBlog
应该是
Vblog
在类和文件名的所有实例中。虽然PHP本身并不关心类名中的情况,但msot linux服务器的情况就是大概。因为这个,Magento找不到你的控制器类文件,这就是你得到404的原因。