3

所以我下载了 Magento 免费博客扩展,但它只支持单个博客。所以我复制了扩展,因为我的 magento 商店需要多个博客。我在我的扩展副本中适当地更改了所有引用和调用,并且能够将其安装为单独的扩展。

但是,当我想从管理面板创建新帖子时,它会给我一个 Magento 404 错误。

如果有人可以看一下并让我知道我缺少什么,我将不胜感激。

请注意,我使用两种环境进行测试:

  1. 使用 PHP 5.2.6、MySQL 5 和 Apache 2.0.59 通过 MAMP/WAMP(Mac 和 Windows 的预打包 LAMP 桌面环境)本地安装 Magento

  2. 具有 PHP 5.2.10、MySQL 5.x 和 Apache 2.x 的网络服务器

在我本地的 MAMP/WAMP 上,我可以毫无问题地创建博客。但是,当我从实时服务器对其进行测试时,我不再能够创建新的博客文章,并且重定向到创建文章页面的管理页面给了我一个 magento 404 错误。

我一直在想这可能与某些服务器设置有关,但我完全不确定,如果其他人可以帮我调查一下,我将不胜感激。

谢谢。

程序员

4

1 回答 1

6

首先是责骂,然后是一些帮助,因为这就是 StackOverflow 的运作方式。除非您真的熟悉 Magento 约定,否则您可能没有对正确的事情进行足够的更改。

  1. 阅读 Magento 中的控制器调度过程并尝试跟踪其进度

  2. 所以,读起来,你现在知道你的名字是“vblog_admin”。是否正在加载具有此名称的任何页面?如果没有,请检查自定义模块的 <routers> 部分

  3. 您的控制器名称是“manage_vblog”,这意味着在自定义模块中,您应该在以下位置有一个控制器:ModuleName/controllers/Manage/Vblog.php.

  4. 确保控制器就位后,请确保其上有一个 newAction 方法。

如果上述任何步骤失败,magento 将 404 通知您。最后,在

app/code/core/Mage/Core/Controller/Varien/Router/Standard.php

搜索文本getControllerFileName。这是您的控制器获得其名称的地方,以及 Magento 决定它是否有合法请求的系统的一般区域。

更新:根据下面提供的文件(和私人通信),看起来是您的命名约定导致了问题。Magento 对其驼峰式命名约定非常严格

VBlog 

应该

Vblog

在类和文件名的所有实例中。虽然 PHP 本身不关心类名中的大小写,但 msot linux 服务器确实关心大小写。由于这个原因,Magento 找不到您的控制器类文件,这就是您得到 404 的原因。

于 2009-09-19T02:13:40.937 回答